Я работаю над новым плагином для томов и должен пройти все тесты 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
и dockerd автоматически обнаружит его.
Проблема возникает, когда я пытаюсь интегрировать плагин в docker plugin install
команду. Как сказано здесь :
Docker сначала ищет плагин на вашем хосте Docker. Если плагин не существует локально, он извлекается из реестра.
Наш процесс установки не предполагает подключения к частному или общедоступному реестру, поэтому нам нужна первая docker plugin create
команда, чтобы создать плагин локально. И вот тут у меня возникают трудности, чтобы обдумать, как это сделать с помощью плагина на основе json. Согласно этому документу, мне нужно указать путь к плагину. Если я использую имя каталога, оно ожидает config.json
и rootfs
будет присутствовать в каталоге.
НО
1. config.json
- это конфиг, описывающий .sock
конфиги формата, а не .json
формат (пожалуйста, исправьте меня, если я ошибаюсь)
2. как мне создать rootfs и зачем он мне нужен, если мой плагин является просто REST сервис а его нет даже в контейнере?
Ценю любую помощь.