Cách 'cài đặt plugin docker' cho plugin dựa trên json


9

Tôi đang làm việc trên một plugin âm lượng hoàn toàn mới và tôi yêu cầu tất cả các bài kiểm tra vol-test phải được thông qua. Và tôi đã vượt qua tất cả các thử nghiệm thành công (trên một môi trường có cài đặt plugin) ngoại trừ thử nghiệm đầu tiên docker plugin install. Vấn đề là có ba cách có thể để cài đặt một plugin tùy chỉnh:

Các tập tin .sock là các socket miền UNIX.
Các tệp .spec là các tệp văn bản chứa URL, chẳng hạn như unix: ///other.sock hoặc tcp: // localhost: 8080.
Các tệp .json là các tệp văn bản chứa thông số json đầy đủ cho plugin.

và chúng tôi sử dụng json, đơn giản là một máy chủ REST triển khai API docker (được viết bằng java, spring). Quá trình cài đặt cho nó thẳng tiến: chỉ cần sao chép tệp json vào /etc/docker/pluginsvà dockerd tự động phát hiện ra nó.
Vấn đề xảy ra khi tôi cố gắng tích hợp plugin vào docker plugin installlệnh. Như đã nêu ở đây :

Docker trông đầu tiên cho plugin trên máy chủ Docker của bạn. Nếu plugin không tồn tại cục bộ, thì plugin được lấy từ sổ đăng ký.

Quá trình cài đặt của chúng tôi không giả định kết nối với đăng ký riêng tư hoặc công khai, vì vậy chúng tôi cần docker plugin createlệnh đầu tiên để tạo plugin cục bộ. Và đây là lúc tôi gặp khó khăn trong việc xoay quanh cách làm điều đó với plugin dựa trên json. Theo tài liệu này , tôi cần chỉ định một đường dẫn đến plugin. Nếu tôi sử dụng một tên thư mục, nó mong đợi config.jsonrootfscó mặt trong thư mục.

NHƯNG
1. config.json- đây là cấu hình, mô tả các cấu hình .sockđịnh dạng chứ không phải .jsonđịnh dạng (vui lòng sửa cho tôi nếu tôi sai)
2. Làm cách nào để tạo rootfs và tại sao tôi cần nó nếu plugin của tôi chỉ là một REST độc lập dịch vụ và nó thậm chí không có trong container?

Đánh giá cao bất kỳ sự giúp đỡ.

Câu trả lời:


-1

config.json - đây là một cấu hình, mô tả các cấu hình định dạng .sock chứ không phải định dạng .json (vui lòng sửa cho tôi nếu tôi sai)

Tôi đã xác minh nó hoạt động với các tệp .spec, không chắc chắn cách nó hoạt động với các tệp json. Đối với các tệp .spec, bạn không đề cập đến các tệp .spec trong config.json. Điều đó chỉ được sử dụng cho các plugin ổ cắm unix (tùy chọn 1). Nguyên vẹn, không cần phải có config.json cho các plugin socket TCP.

Làm cách nào để tạo rootfs và tại sao tôi cần nó nếu plugin của tôi chỉ là một dịch vụ REST độc lập và nó thậm chí không có trong container?

Theo hiểu biết của tôi, rootfs chỉ dành cho các plugin unix socket. Phát hiện plugin hoạt động ngoài hộp nếu tệp .spec tồn tại trong thư mục bên phải. Tóm lại, bạn chỉ cần tạo tập tin spec và đặt nó vào thư mục khám phá bên phải và cố gắng bootstrap container với tên plugin đó. Bạn không phải chạy các lệnh như "docker plugin tạo / cài đặt / kích hoạt". Bạn chạy máy chủ, đặt tệp vào thư mục bên phải và để các container mới sử dụng plugin đó.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.