Estou trabalhando em um novo plug-in de volume e preciso que todos os testes de vol-test sejam aprovados. E todos os testes foram aprovados com êxito (em um ambiente com plug-in instalado), exceto o primeiro, que é docker plugin install
. O fato é que existem três maneiras possíveis de instalar um plug-in personalizado:
Os arquivos .sock são soquetes de domínio UNIX.
Os arquivos .spec são arquivos de texto que contêm uma URL, como unix: ///other.sock ou tcp: // localhost: 8080.
Arquivos .json são arquivos de texto que contêm uma especificação json completa para o plug-in.
e usamos json, que é simplesmente um servidor REST que implementa a API do docker (escrita em java, spring). O processo de instalação é simples: basta copiar o arquivo json /etc/docker/plugins
e o dockerd o descobre automaticamente.
O problema surge quando tento integrar o plugin no docker plugin install
comando. Como indicado aqui :
O Docker procura primeiro o plug-in no seu host do Docker. Se o plug-in não existir localmente, o plug-in será extraído do registro.
Nosso processo de instalação não pressupõe uma conexão com um registro público ou privado; portanto, precisamos do primeiro docker plugin create
comando para criar o plug-in localmente. E é aqui que estou tendo dificuldades para entender como fazer isso com o plugin baseado em json. De acordo com este documento, preciso especificar um caminho para o plug-in. Se eu usar um nome de diretório, ele espera config.json
e rootfs
estará presente no diretório.
MAS
1. config.json
- esta é uma configuração, que descreve as .sock
configurações de formato, e não o .json
formato (por favor, corrija-me se estiver errado)
2. como faço para criar os rootfs e por que preciso se meu plug-in é apenas um REST autônomo serviço e não é mesmo no recipiente?
Aprecio qualquer ajuda.