Estoy trabajando en un nuevo plugin de volumen y debo pasar todas las pruebas de vol-test . Y tengo todas las pruebas aprobadas con éxito (en un entorno con el complemento instalado) excepto la primera, que es docker plugin install
. La cuestión es que hay tres formas posibles de instalar un complemento personalizado:
Los archivos .sock son sockets de dominio UNIX.
Los archivos .spec son archivos de texto que contienen una URL, como unix: ///other.sock o tcp: // localhost: 8080.
Los archivos .json son archivos de texto que contienen una especificación json completa para el complemento.
y usamos json, que es simplemente un servidor REST que implementa la API de Docker (escrito en Java, Spring). El proceso de instalación es sencillo: simplemente copie el archivo json /etc/docker/plugins
y dockerd lo descubrirá automáticamente.
El problema surge cuando intento integrar el complemento en el docker plugin install
comando. Como se dice aquí :
Docker busca primero el complemento en su host Docker. Si el complemento no existe localmente, entonces el complemento se extrae del registro.
Nuestro proceso de instalación no asume una conexión a un registro privado o público, por lo que necesitamos el primer docker plugin create
comando para crear el complemento localmente. Y aquí es donde estoy teniendo dificultades para entender cómo hacerlo con el complemento basado en json. Según este documento, necesito especificar una ruta al complemento. Si uso un nombre de directorio que espera config.json
y rootfs
estará presente en el directorio.
PERO
1. config.json
- esta es una configuración, que describe las .sock
configuraciones de formato, y no el .json
formato (corríjame si me equivoco)
2. ¿Cómo creo el rootfs y por qué lo necesito si mi complemento es solo un RESTO independiente? servicio y ni siquiera está en el contenedor?
Agradezco cualquier ayuda.