Cómo usar el comando docker plugin set para cambiar la configuración de complementos (plugins) de Docker

DockerDockerBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderá cómo utilizar el comando docker plugin set para modificar la configuración de un complemento (plugin) de Docker. Comenzaremos inspeccionando la configuración inicial de un complemento utilizando docker plugin inspect para comprender su estado actual.

Después de la inspección, practicarás cambiar varias configuraciones del complemento, incluyendo variables de entorno, la fuente de un montaje, una ruta de dispositivo y la fuente de argumentos, todo utilizando el comando docker plugin set. Esta experiencia práctica demostrará la flexibilidad y el control que tienes sobre el comportamiento de los complementos de Docker.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/ContainerOperationsGroup(["Container Operations"]) docker/ContainerOperationsGroup -.-> docker/ls("List Containers") docker/ContainerOperationsGroup -.-> docker/inspect("Inspect Container") subgraph Lab Skills docker/ls -.-> lab-555195{{"Cómo usar el comando docker plugin set para cambiar la configuración de complementos (plugins) de Docker"}} docker/inspect -.-> lab-555195{{"Cómo usar el comando docker plugin set para cambiar la configuración de complementos (plugins) de Docker"}} end

Inspección de la configuración inicial del complemento (plugin)

En este paso, aprenderemos cómo inspeccionar la configuración inicial de un complemento (plugin) de Docker. Los complementos de Docker amplían la funcionalidad de Docker, permitiendo controladores de almacenamiento personalizados, controladores de red y más. Antes de modificar la configuración de un complemento, es fundamental entender su configuración actual.

Utilizaremos el comando docker plugin inspect para ver los detalles de un complemento específico. Para este laboratorio, utilizaremos el complemento vieux/sshfs como ejemplo. Este complemento te permite montar sistemas de archivos SSH remotos en tus contenedores.

Primero, asegúrate de que el complemento vieux/sshfs esté instalado y habilitado. Si no lo está, puedes instalarlo utilizando el comando docker plugin install.

docker plugin install vieux/sshfs:latest

Este comando instala el complemento vieux/sshfs desde Docker Hub. La etiqueta :latest especifica la última versión del complemento.

Después de instalar el complemento, puedes verificar su estado utilizando el comando docker plugin ls.

docker plugin ls

Deberías ver vieux/sshfs:latest en la lista con el estado ENABLED establecido en true.

Ahora, inspeccionemos la configuración del complemento utilizando el comando docker plugin inspect.

docker plugin inspect vieux/sshfs:latest

Este comando mostrará un objeto JSON detallado que contiene todos los detalles de configuración del complemento vieux/sshfs. Esta salida incluye información sobre la ID del complemento, el nombre, el estado habilitado, la configuración, etc.

Desplázate por la salida para ver las diversas opciones de configuración disponibles para este complemento. Presta atención a la sección Settings, que contiene los parámetros de configuración específicos que se pueden modificar.

Cambiar una variable de entorno utilizando docker plugin set

En este paso, aprenderemos cómo cambiar una variable de entorno de un complemento (plugin) de Docker utilizando el comando docker plugin set. Modificar la configuración de los complementos te permite personalizar su comportamiento para adaptarlo a tus necesidades específicas.

Antes de poder cambiar la configuración de un complemento, el complemento debe estar deshabilitado. No se pueden cambiar las configuraciones de un complemento habilitado. Seguiremos utilizando el complemento vieux/sshfs como ejemplo.

Primero, deshabilitemos el complemento vieux/sshfs.

docker plugin disable vieux/sshfs:latest

Este comando deshabilita el complemento especificado. Puedes verificar que el complemento está deshabilitado ejecutando docker plugin ls nuevamente. El estado ENABLED para vieux/sshfs:latest ahora debe ser false.

Ahora que el complemento está deshabilitado, podemos cambiar una variable de entorno. El complemento vieux/sshfs tiene una variable de entorno llamada DEBUG que controla la salida de depuración. Por defecto, es probable que esté configurada en false. Cambiemosla a true.

docker plugin set vieux/sshfs:latest DEBUG=true

Este comando establece la variable de entorno DEBUG para el complemento vieux/sshfs:latest en true. El formato para establecer variables es NOMBRE_DEL_COMPLEMENTO NOMBRE_DE_LA_VARIABLE=VALOR.

Después de establecer la variable de entorno, puedes inspeccionar el complemento nuevamente para confirmar el cambio.

docker plugin inspect vieux/sshfs:latest

Busca la sección Settings en la salida JSON. Deberías ver una entrada para Env, que es una lista de variables de entorno. La variable DEBUG ahora debe estar configurada en true.

Finalmente, después de realizar los cambios deseados, puedes volver a habilitar el complemento.

docker plugin enable vieux/sshfs:latest

Verifica que el complemento esté habilitado utilizando docker plugin ls.

Cambiar la fuente de un montaje (mount) utilizando docker plugin set

En este paso, aprenderemos cómo cambiar la fuente de un montaje (mount) para un complemento (plugin) de Docker utilizando el comando docker plugin set. Algunos complementos requieren acceso a directorios o archivos específicos en el sistema host. Estos se configuran como montajes.

Similar a cambiar variables de entorno, debes deshabilitar el complemento antes de poder modificar su configuración de montaje. Seguiremos utilizando el complemento vieux/sshfs.

Primero, asegúrate de que el complemento vieux/sshfs esté deshabilitado. Si lo habilitaste en el paso anterior, deshabilítalo ahora.

docker plugin disable vieux/sshfs:latest

Verifica que el complemento esté deshabilitado utilizando docker plugin ls.

El complemento vieux/sshfs requiere acceso al archivo /etc/ssh/ssh_known_hosts en el sistema host para verificar la identidad del servidor SSH al que se conecta. Esto se configura como un montaje. Cambiemos la ruta de origen de este montaje.

Cambiaremos la ruta de origen de /etc/ssh/ssh_known_hosts a /root/.ssh/known_hosts. Nota: En un escenario del mundo real, asegurarías que el archivo de destino exista y tenga los permisos correctos. Para este laboratorio, nos estamos enfocando en la sintaxis del comando.

docker plugin set vieux/sshfs:latest Mounts[0].Source=/root/.ssh/known_hosts

Este comando establece el campo Source del primer montaje (Mounts[0]) para el complemento vieux/sshfs:latest en /root/.ssh/known_hosts. La sintaxis Mounts[0] se refiere al primer elemento en la matriz Mounts dentro de la configuración del complemento. Puedes encontrar el índice del montaje que deseas cambiar inspeccionando la configuración del complemento.

Después de cambiar la fuente del montaje, inspecciona el complemento para confirmar el cambio.

docker plugin inspect vieux/sshfs:latest

Examina la sección Settings y encuentra la matriz Mounts. El campo Source para el primer montaje ahora debe ser /root/.ssh/known_hosts.

Finalmente, vuelve a habilitar el complemento.

docker plugin enable vieux/sshfs:latest

Verifica que el complemento esté habilitado utilizando docker plugin ls.

Cambiar la ruta de un dispositivo utilizando docker plugin set

En este paso, aprenderemos cómo cambiar la ruta de un dispositivo al que un complemento (plugin) de Docker tiene acceso utilizando el comando docker plugin set. Algunos complementos pueden requerir acceso directo a dispositivos del host, como dispositivos de almacenamiento o interfaces de red.

Al igual que al cambiar otras configuraciones de complementos, el complemento debe estar deshabilitado antes de poder modificar su configuración de dispositivos. Seguiremos utilizando el complemento vieux/sshfs como ejemplo, aunque este complemento en particular no suele requerir acceso a dispositivos. Demostraremos la sintaxis del comando utilizando un dispositivo hipotético.

Primero, asegúrate de que el complemento vieux/sshfs esté deshabilitado.

docker plugin disable vieux/sshfs:latest

Verifica que el complemento esté deshabilitado utilizando docker plugin ls.

Ahora, imaginemos que el complemento vieux/sshfs tuviera la necesidad de acceder a un dispositivo en /dev/sda1. Queremos cambiarlo a /dev/sdb1. Utilizaríamos el comando docker plugin set con la matriz Devices.

Nota: El complemento vieux/sshfs en realidad no tiene una configuración Devices por defecto. Este es un ejemplo hipotético para demostrar la sintaxis del comando para cambiar rutas de dispositivos. Ejecutar este comando en el complemento vieux/sshfs probablemente resultará en un error porque el campo Devices no existe en su configuración. Sin embargo, la sintaxis mostrada es correcta para los complementos que tienen configuraciones de dispositivos.

Suponiendo que el complemento tuviera una matriz Devices y quisiéramos cambiar la PathOnHost del primer dispositivo (Devices[0]), el comando se vería así:

docker plugin set vieux/sshfs:latest Devices[0].PathOnHost=/dev/sdb1

Este comando intenta establecer el campo PathOnHost del primer dispositivo (Devices[0]) para el complemento vieux/sshfs:latest en /dev/sdb1. La sintaxis Devices[0] se refiere al primer elemento en la matriz Devices dentro de la configuración del complemento.

Dado que el complemento vieux/sshfs no tiene una matriz Devices, el comando anterior fallará. Esto es esperado para este complemento en particular, pero ilustra la sintaxis correcta para modificar rutas de dispositivos en complementos que admiten esta configuración.

Para ver las configuraciones reales del complemento vieux/sshfs, puedes inspeccionarlo nuevamente.

docker plugin inspect vieux/sshfs:latest

No verás una sección Devices en la salida de este complemento.

Finalmente, vuelve a habilitar el complemento.

docker plugin enable vieux/sshfs:latest

Verifica que el complemento esté habilitado utilizando docker plugin ls.

Cambiar la fuente de los argumentos utilizando docker plugin set

En este paso, aprenderemos cómo cambiar la fuente de los argumentos pasados a un complemento (plugin) de Docker utilizando el comando docker plugin set. Algunos complementos aceptan argumentos de línea de comandos durante su inicialización o ejecución.

Para modificar los argumentos de un complemento, primero debe estar deshabilitado. Seguiremos utilizando el complemento vieux/sshfs como ejemplo.

Primero, asegúrate de que el complemento vieux/sshfs esté deshabilitado.

docker plugin disable vieux/sshfs:latest

Verifica que el complemento esté deshabilitado utilizando docker plugin ls.

El complemento vieux/sshfs acepta argumentos que se pasan al comando sshfs subyacente. Estos argumentos se configuran en la configuración del complemento. Cambiemos la fuente de estos argumentos.

Cambiaremos la fuente de los argumentos para incluir la opción -o allow_other, que permite a usuarios no root montar el sistema de archivos.

docker plugin set vieux/sshfs:latest Args="-o allow_other"

Este comando establece el campo Args para el complemento vieux/sshfs:latest en "-o allow_other". El campo Args suele ser una cadena o una matriz de cadenas que representan los argumentos de línea de comandos pasados al ejecutable del complemento.

Después de cambiar los argumentos, inspecciona el complemento para confirmar el cambio.

docker plugin inspect vieux/sshfs:latest

Examina la sección Settings y encuentra el campo Args. Ahora debe estar establecido en "-o allow_other".

Finalmente, vuelve a habilitar el complemento.

docker plugin enable vieux/sshfs:latest

Verifica que el complemento esté habilitado utilizando docker plugin ls.

Resumen

En este laboratorio, aprendimos cómo gestionar la configuración de complementos (plugins) de Docker utilizando el comando docker plugin set. Comenzamos inspeccionando la configuración inicial de un complemento utilizando docker plugin inspect para entender su estado actual, centrándonos específicamente en la sección Settings. Esta inspección inicial es crucial antes de realizar cualquier modificación.

Posteriormente, exploramos cómo modificar diversas configuraciones de complementos utilizando docker plugin set. Cubrimos el cambio de una variable de entorno, la modificación de la fuente de un montaje, la modificación de la ruta de un dispositivo y el cambio de la fuente de los argumentos. Estos pasos demostraron la flexibilidad de docker plugin set para personalizar el comportamiento de los complementos y satisfacer requisitos específicos.