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/pluginsJson i dokerd automatycznie go wykryje.
Problem pojawia się, gdy próbuję zintegrować wtyczkę z docker plugin installpoleceniem. 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 createpolecenia, 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.jsoni rootfsbędzie obecny w katalogu.
ALE
1. config.json- jest to konfiguracja, która opisuje .sockkonfiguracje formatów, a nie .jsonformat (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.