Cómo usar el comando docker plugin upgrade para actualizar un complemento

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 gestionar los complementos (plugins) de Docker, centrándose específicamente en el proceso de actualización. Comenzará instalando y utilizando un complemento de Docker para comprender su funcionalidad básica y cómo se integra con Docker.

Después de la configuración inicial, aprenderá los pasos necesarios para preparar un complemento para su actualización, lo cual implica deshabilitarlo. Finalmente, realizará la actualización utilizando el comando docker plugin upgrade y luego volverá a habilitar y verificará el complemento actualizado para asegurarse de que está funcionando correctamente. Este laboratorio brinda experiencia práctica en la gestión del ciclo de vida de los complementos de Docker.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/ContainerOperationsGroup(["Container Operations"]) docker(("Docker")) -.-> docker/VolumeOperationsGroup(["Volume Operations"]) docker/ContainerOperationsGroup -.-> docker/ls("List Containers") docker/ContainerOperationsGroup -.-> docker/inspect("Inspect Container") docker/VolumeOperationsGroup -.-> docker/volume("Manage Volumes") subgraph Lab Skills docker/ls -.-> lab-555196{{"Cómo usar el comando docker plugin upgrade para actualizar un complemento"}} docker/inspect -.-> lab-555196{{"Cómo usar el comando docker plugin upgrade para actualizar un complemento"}} docker/volume -.-> lab-555196{{"Cómo usar el comando docker plugin upgrade para actualizar un complemento"}} end

Instalar y usar un complemento (plugin) de Docker

En este paso, aprenderá cómo instalar y usar un complemento de Docker. Los complementos de Docker amplían la funcionalidad de Docker. Pueden proporcionar características como la gestión de volúmenes, controladores de red y más. Instalaremos un simple complemento de volúmenes llamado rexray/s3fs que permite almacenar volúmenes de Docker en Amazon S3. Aunque no configuraremos un backend completo de S3, la instalación del complemento demuestra el proceso.

Primero, instalemos el complemento. Puedes instalar un complemento de Docker utilizando el comando docker plugin install.

sudo docker plugin install rexray/s3fs --grant-all-permissions

Este comando instala el complemento rexray/s3fs y le otorga todos los permisos necesarios. La bandera --grant-all-permissions se utiliza aquí por simplicidad en este entorno de laboratorio. En un entorno de producción, debes revisar detenidamente y otorgar solo los permisos necesarios.

Se te pedirá que confirmes la instalación y los permisos. Escribe y y presiona Enter.

Plugin "rexray/s3fs" is requesting the following permissions:
 - network: host
 - mount: /dev/fuse
 - allow-sys-admin
 - allow-cap-sys-admin
 - allow-device /dev/fuse
 - allow-cfg-unix-groups
 - allow-runtime-privilege
 - allow-force-remove
Do you grant the plugin these permissions? [y/N] y

Después de confirmar, Docker descargará e instalará el complemento. Esto puede tomar un momento dependiendo de tu conexión a Internet.

Una vez completada la instalación, puedes verificar que el complemento está instalado y habilitado utilizando el comando docker plugin ls.

sudo docker plugin ls

Deberías ver rexray/s3fs en la lista con el estado ENABLED establecido en true.

ID                  NAME                DESCRIPTION                                            ENABLED
xxxxxxxxxxxx        rexray/s3fs         REX-Ray S3FS Docker Volume Plugin                      true

Ahora que el complemento está instalado y habilitado, puedes usarlo para crear un volumen. Aunque no podremos utilizar completamente la funcionalidad de S3 sin configurar las credenciales de S3, todavía podemos crear un volumen utilizando el controlador del complemento.

sudo docker volume create --driver rexray/s3fs my-s3-volume

Este comando intenta crear un volumen llamado my-s3-volume utilizando el controlador rexray/s3fs. Dado que no hemos configurado S3, este comando puede mostrar una advertencia o un error relacionado con la conectividad a S3, pero el objeto de volumen en sí será creado por Docker.

Puedes listar los volúmenes para ver el volumen recién creado.

sudo docker volume ls

Deberías ver my-s3-volume en la lista con el DRIVER como rexray/s3fs.

DRIVER              VOLUME NAME
rexray/s3fs         my-s3-volume

Finalmente, puedes inspeccionar el volumen para ver más detalles sobre él.

sudo docker volume inspect my-s3-volume

Este comando mostrará un objeto JSON que contiene información sobre el my-s3-volume, incluyendo su controlador.

Deshabilitar el complemento (plugin) antes de actualizar

En este paso, aprenderá cómo deshabilitar un complemento de Docker. Antes de actualizar un complemento de Docker, es una buena práctica deshabilitarlo primero. Esto asegura que el complemento no esté siendo utilizado activamente por ningún contenedor o servicio durante el proceso de actualización, evitando posibles problemas.

Puedes deshabilitar un complemento de Docker utilizando el comando docker plugin disable.

sudo docker plugin disable rexray/s3fs

Este comando deshabilita el complemento rexray/s3fs. Si el complemento está siendo utilizado actualmente por algún contenedor en ejecución, Docker te impedirá deshabilitarlo y mostrará un mensaje de error. En nuestro caso, el complemento no está siendo utilizado activamente por un contenedor en ejecución, por lo que debería deshabilitarse correctamente.

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

sudo docker plugin ls

Ahora deberías ver rexray/s3fs en la lista con el estado ENABLED establecido en false.

ID                  NAME                DESCRIPTION                                            ENABLED
xxxxxxxxxxxx        rexray/s3fs         REX-Ray S3FS Docker Volume Plugin                      false

Deshabilitar el complemento lo hace inactivo, pero todavía está instalado en tu sistema. Este estado es necesario antes de proceder con la actualización o eliminación del complemento.

Actualizar el complemento (plugin) de Docker

En este paso, aprenderá cómo actualizar un complemento de Docker. Actualizar un complemento implica instalar una versión más reciente del mismo. Dado que ya deshabilitamos el complemento en el paso anterior, podemos proceder con la actualización.

Para actualizar un complemento de Docker, se utiliza nuevamente el comando docker plugin install, especificando el nombre del complemento y, potencialmente, una nueva etiqueta (tag) si se desea una versión específica. Si no se especifica una etiqueta, Docker descargará la versión más reciente. Utilizaremos el mismo nombre de complemento, y Docker se encargará del proceso de actualización.

sudo docker plugin install rexray/s3fs --grant-all-permissions

Este comando intentará instalar nuevamente el complemento rexray/s3fs. Dado que ya hay una versión instalada, Docker reconocerá esto como un intento de actualización. Se le pedirá que confirme la actualización y los permisos, de manera similar a la instalación inicial.

Plugin "rexray/s3fs" is requesting the following permissions:
 - network: host
 - mount: /dev/fuse
 - allow-sys-admin
 - allow-cap-sys-admin
 - allow-device /dev/fuse
 - allow-cfg-unix-groups
 - allow-runtime-privilege
 - allow-force-remove
Do you grant the plugin these permissions? [y/N] y

Escriba y y presione Enter para continuar con la actualización. Docker descargará la nueva versión del complemento y reemplazará la existente.

Después de que se complete la actualización, el complemento permanecerá en estado deshabilitado. Puede verificar esto utilizando el comando docker plugin ls.

sudo docker plugin ls

Todavía debería ver rexray/s3fs en la lista con el estado ENABLED establecido en false. La ID podría haber cambiado, lo que indica que se ha instalado una nueva versión.

ID                  NAME                DESCRIPTION                                            ENABLED
yyyyyyyyyyyy        rexray/s3fs         REX-Ray S3FS Docker Volume Plugin                      false

Actualizar el complemento reemplaza los archivos ejecutables y de configuración del complemento con la nueva versión. Es importante volver a habilitar el complemento después de la actualización para que esté disponible para su uso.

Volver a habilitar y verificar el complemento (plugin) actualizado

En este paso, volverá a habilitar el complemento de Docker actualizado y verificará que está funcionando correctamente. Después de actualizar un complemento, este permanece en estado deshabilitado. Debe habilitarlo explícitamente para que esté disponible para que Docker lo utilice.

Puede habilitar un complemento de Docker utilizando el comando docker plugin enable.

sudo docker plugin enable rexray/s3fs

Este comando habilita el complemento rexray/s3fs. Si el complemento se inicia correctamente, el comando se completará sin salida. Si hay problemas al iniciar el complemento, es posible que vea un mensaje de error.

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

sudo docker plugin ls

Ahora debería ver rexray/s3fs en la lista con el estado ENABLED establecido nuevamente en true.

ID                  NAME                DESCRIPTION                                            ENABLED
yyyyyyyyyyyy        rexray/s3fs         REX-Ray S3FS Docker Volume Plugin                      true

Para verificar aún más que el complemento actualizado está funcionando, puede intentar crear otro volumen utilizando el controlador (driver) del complemento.

sudo docker volume create --driver rexray/s3fs my-s3-volume-2

Este comando crea un nuevo volumen llamado my-s3-volume-2 utilizando el controlador rexray/s3fs. Si el complemento está funcionando correctamente, este comando debe tener éxito (aunque, como antes, puede mostrar advertencias relacionadas con la conectividad a S3 si no está configurado).

Puede listar los volúmenes nuevamente para ver el nuevo volumen.

sudo docker volume ls

Ahora debería ver tanto my-s3-volume como my-s3-volume-2 en la lista con el DRIVER como rexray/s3fs.

DRIVER              VOLUME NAME
rexray/s3fs         my-s3-volume
rexray/s3fs         my-s3-volume-2

Esto confirma que el complemento actualizado está habilitado y se puede utilizar para crear volúmenes.

Resumen

En este laboratorio, aprendiste cómo instalar y utilizar un complemento (plugin) de Docker. Específicamente, instalaste el complemento de volumen rexray/s3fs utilizando el comando docker plugin install, otorgando los permisos necesarios. Luego, verificaste la instalación exitosa y el estado habilitado del complemento utilizando docker plugin ls.

Después de la instalación, aprendiste el paso crucial de deshabilitar el complemento utilizando docker plugin disable antes de proceder con una actualización. Luego, realizaste la actualización del complemento utilizando el comando docker plugin upgrade, especificando la nueva versión. Finalmente, volviste a habilitar el complemento actualizado con docker plugin enable y verificaste su estado y funcionalidad, confirmando el proceso de actualización exitoso.