Pracuję nad zupełnie nową wtyczką woluminu i muszę przejść wszystkie testy vol-test . I pomyślnie przeszedłem wszystkie testy (w środowisku z zainstalowaną wtyczką) oprócz pierwszego, który jest docker plugin install
. Chodzi o to, że istnieją trzy możliwe sposoby zainstalowania niestandardowej wtyczki:
Pliki .sock są gniazdami domenowymi UNIX.
Pliki .spec to pliki tekstowe zawierające adres URL, takie jak unix: ///other.sock lub tcp: // localhost: 8080.
Pliki .json to pliki tekstowe zawierające pełną specyfikację json dla wtyczki.
i używamy json, który jest po prostu serwerem REST implementującym API dokera (napisane w Javie, wiosna). Proces instalacji jest prosty: po prostu skopiuj plik /etc/docker/plugins
Json i dokerd automatycznie go wykryje.
Problem pojawia się, gdy próbuję zintegrować wtyczkę z docker plugin install
poleceniem. Jak stwierdzono tutaj :
Docker najpierw szuka wtyczki na hoście Docker. Jeśli wtyczka nie istnieje lokalnie, wtyczka jest pobierana z rejestru.
Nasz proces instalacji nie zakłada połączenia z rejestrem prywatnym lub publicznym, dlatego potrzebujemy pierwszego docker plugin create
polecenia, aby utworzyć wtyczkę lokalnie. I właśnie tutaj trudno mi się pochwycić, jak to zrobić za pomocą wtyczki opartej na Jsonie. Zgodnie z tym dokumentem muszę podać ścieżkę do wtyczki. Jeśli użyję nazwy katalogu, oczekuje config.json
i rootfs
będzie obecny w katalogu.
ALE
1. config.json
- jest to konfiguracja, która opisuje .sock
konfiguracje formatów, a nie .json
format (popraw mnie, jeśli się mylę)
2. jak utworzyć rootfs i dlaczego potrzebuję go, jeśli moja wtyczka jest tylko samodzielną REST usługi i nie ma go nawet w pojemniku?
Doceń wszelką pomoc.