วิธี 'ติดตั้งปลั๊กอินนักเทียบท่า' สำหรับปลั๊กอินที่ใช้ json


9

ผมทำงานเกี่ยวกับแบรนด์ปลั๊กอินปริมาณใหม่และฉันต้องทุกฉบับทดสอบการทดสอบที่จะผ่าน และฉันมีการทดสอบทั้งหมดประสบความสำเร็จผ่าน (ในสภาพแวดล้อมที่มีปลั๊กอินติดตั้ง) docker plugin installยกเว้นคนแรกซึ่งเป็น สิ่งคือมีสามวิธีที่เป็นไปได้ที่หนึ่งสามารถติดตั้งปลั๊กอินที่กำหนดเอง:

ไฟล์ .ock เป็นซ็อกเก็ตโดเมน UNIX
ไฟล์. spec เป็นไฟล์ข้อความที่มี URL เช่น unix: ///other.sock หรือ tcp: // localhost: 8080
ไฟล์. json เป็นไฟล์ข้อความที่มีข้อกำหนดคุณสมบัติ json แบบเต็มสำหรับปลั๊กอิน

และเราใช้ json ซึ่งเป็นเพียงเซิร์ฟเวอร์ REST ที่ใช้ API docker API (เขียนด้วย java, spring) กระบวนการติดตั้งมันตรงไปข้างหน้า: เพียงแค่คัดลอกไฟล์ json ใน/etc/docker/pluginsและ dockerd ค้นพบโดยอัตโนมัติ
ปัญหาเกิดขึ้นเมื่อฉันพยายามรวมปลั๊กอินเข้ากับdocker plugin installคำสั่ง ตามที่ระบุไว้ที่นี่ :

นักเทียบท่าจะค้นหาปลั๊กอินในโฮสต์ Docker ของคุณก่อน หากปลั๊กอินไม่มีอยู่ในเครื่องแสดงว่ามีการดึงปลั๊กอินออกจากรีจิสทรี

กระบวนการติดตั้งของเราไม่ถือว่าการเชื่อมต่อกับรีจิสทรีส่วนตัวหรือสาธารณะดังนั้นเราต้องการdocker plugin createคำสั่งแรกเพื่อสร้างปลั๊กอินในเครื่อง และนี่คือที่ฉันมีเวลายากที่จะห่อหัวของฉันรอบวิธีการทำเช่นนั้นด้วยปลั๊กอินที่ใช้ json ตามเอกสารนี้ฉันต้องระบุเส้นทางไปยังปลั๊กอิน ถ้าฉันใช้ชื่อไดเรกทอรีมันคาดหวังconfig.jsonและrootfsจะมีอยู่ในไดเรกทอรี

แต่
1. config.json- นี่คือการกำหนดค่าที่อธิบาย.sockรูปแบบการตั้งค่าและไม่ใช่.jsonรูปแบบ (โปรดแก้ไขให้ฉันถ้าฉันผิด)
2. ฉันจะสร้าง rootfs ได้อย่างไรและทำไมฉันต้องใช้มันถ้าปลั๊กอินของฉันเป็น REST แบบสแตนด์อโลน บริการและมันไม่ได้อยู่ในภาชนะ?

ขอบคุณสำหรับความช่วยเหลือใด ๆ

คำตอบ:


-1

config.json - นี่คือการกำหนดค่าที่อธิบาย. รูปแบบการจัดรูปแบบการกำหนดค่าและไม่ใช่รูปแบบ. json (โปรดแก้ไขให้ฉันถ้าฉันผิด)

ฉันตรวจสอบแล้วว่ามันทำงานกับไฟล์. spec ไม่แน่ใจว่ามันทำงานอย่างไรกับไฟล์ json สำหรับไฟล์. spec คุณไม่ต้องพูดถึงไฟล์. spec ใน config.json ใช้สำหรับปลั๊กอินซ็อกเก็ตยูนิกซ์เท่านั้น (ตัวเลือก 1) Infact ไม่จำเป็นต้องมี config.json สำหรับปลั๊กอินซ็อกเก็ต TCP

ฉันจะสร้าง rootfs ได้อย่างไรและทำไมฉันต้องใช้มันถ้าปลั๊กอินของฉันเป็นบริการ REST แบบสแตนด์อโลนและไม่ได้อยู่ในคอนเทนเนอร์ด้วย?

ในความเข้าใจของฉัน rootfs สำหรับปลั๊กอินซ็อกเก็ตยูนิกซ์เท่านั้น การค้นพบปลั๊กอินทำงานนอกกรอบหากมีไฟล์. sspec อยู่ในโฟลเดอร์ด้านขวา โดยสรุปคุณเพียงสร้างไฟล์ข้อมูลจำเพาะและวางไว้ในโฟลเดอร์การค้นพบที่ถูกต้องแล้วลองบูตภาชนะด้วยชื่อปลั๊กอินนั้น คุณไม่จำเป็นต้องเรียกใช้คำสั่งเช่น "ปลั๊กอินนักสร้างสร้าง / ติดตั้ง / เปิดใช้งาน" คุณเรียกใช้เซิร์ฟเวอร์วางไฟล์ในโฟลเดอร์ด้านขวาและให้คอนเทนเนอร์ใหม่ใช้ปลั๊กอินนั้น

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.