Я працюю над абсолютно новим плагін-томом, і мені потрібно пройти всі тести vol-test . І всі тести успішно пройшли (у середовищі із встановленим плагіном), крім першого, який є docker plugin install
. Вся справа в тому, що є три можливі способи встановлення користувацького плагіна:
Файли .sock - це розетки домену UNIX.
Файли .spec - це текстові файли, що містять URL-адресу, наприклад unix: ///other.sock або tcp: // localhost: 8080.
Файли .json - це текстові файли, що містять повну специфікацію json для плагіна.
і ми використовуємо json, який просто REST-сервер, що реалізує API докера (написано в java, spring). Процес установки для нього прямо вперед: просто скопіюйте файл json /etc/docker/plugins
і докерд автоматично його виявить.
Проблема виникає, коли я намагаюся інтегрувати плагін у docker plugin install
команду. Як зазначено тут :
Docker спочатку шукає плагін вашого хокера Docker. Якщо плагін не існує локально, то плагін витягується з реєстру.
Наш процес встановлення не передбачає підключення до приватного чи публічного реєстру, тому нам потрібна перша docker plugin create
команда, щоб створити плагін локально. І саме тут мені важко обернути голову, як це зробити за допомогою плагіна на основі json. Відповідно до цього документа, мені потрібно вказати шлях до плагіна. Якщо я використовую ім'я каталогу, воно очікує config.json
і rootfs
буде присутнє в каталозі.
АЛЕ
1. config.json
- це конфігурація, яка описує конфігурації .sock
формату, а не .json
формат (будь ласка, виправте мене, якщо я помиляюся)
2. як створити rootfs і навіщо мені це потрібно, якщо мій плагін - це просто окремий REST сервіс і його навіть немає в контейнері?
Вдячний за будь-яку допомогу.