Sto lavorando a un nuovissimo plug-in di volume e mi viene richiesto di superare tutti i test vol-test . E ho superato con successo tutti i test (su un ambiente con plugin installato) tranne il primo, che è docker plugin install
. Il fatto è che ci sono tre possibili modi in cui è possibile installare un plug-in personalizzato:
I file .sock sono socket di dominio UNIX.
I file .spec sono file di testo contenenti un URL, come unix: ///other.sock o tcp: // localhost: 8080.
I file .json sono file di testo contenenti una specifica json completa per il plugin.
e usiamo json, che è semplicemente un server REST che implementa l'API docker (scritto in java, primavera). Il processo di installazione è semplice: basta copiare il file json /etc/docker/plugins
e dockerd lo scopre automaticamente.
Il problema si presenta quando provo a integrare il plugin nel docker plugin install
comando. Come indicato qui :
Docker cerca innanzitutto il plug-in sull'host Docker. Se il plug-in non esiste localmente, il plug-in viene estratto dal registro.
Il nostro processo di installazione non presuppone una connessione a un registro privato o pubblico, quindi abbiamo bisogno del primo docker plugin create
comando per creare il plugin localmente. Ed è qui che faccio fatica a pensare a come farlo con un plugin basato su JSON. Secondo questo documento, devo specificare un percorso per il plugin. Se uso un nome di directory, si aspetta config.json
che rootfs
sia presente nella directory.
MA
1. config.json
- questa è una configurazione che descrive le configurazioni del .sock
formato e non il .json
formato (per favore correggimi se sbaglio)
2. Come faccio a creare i rootfs e perché ne ho bisogno se il mio plugin è solo un REST autonomo servizio e non è nemmeno nel contenitore?
Apprezzo qualsiasi aiuto.