Cómo usar el comando docker plugin rm para eliminar un complemento (plugin)

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ás cómo eliminar un complemento (plugin) de Docker utilizando el comando docker plugin rm. Comenzarás instalando un complemento de muestra para trabajar con él. Luego, intentarás eliminar el complemento mientras todavía está habilitado para entender el comportamiento predeterminado y el error que se produce.

Después del intento fallido, aprenderás cómo deshabilitar el complemento, que es un requisito previo necesario para la eliminación. Finalmente, eliminarás con éxito el complemento deshabilitado y también explorarás la opción de utilizar la bandera de fuerza (force flag) para la eliminación.


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/rm("Remove Container") docker/VolumeOperationsGroup -.-> docker/volume("Manage Volumes") subgraph Lab Skills docker/ls -.-> lab-555194{{"Cómo usar el comando docker plugin rm para eliminar un complemento (plugin)"}} docker/rm -.-> lab-555194{{"Cómo usar el comando docker plugin rm para eliminar un complemento (plugin)"}} docker/volume -.-> lab-555194{{"Cómo usar el comando docker plugin rm para eliminar un complemento (plugin)"}} end

Instalar un complemento (plugin) de muestra

En este paso, aprenderás cómo instalar un complemento (plugin) de Docker. Los complementos de Docker extienden la funcionalidad de Docker, lo que te permite integrarte con sistemas externos para tareas como almacenamiento, redes y registro (logging).

Instalaremos un simple complemento de muestra para demostrar el proceso. El comando para instalar un complemento es docker plugin install. Necesitarás aceptar las capacidades y permisos del complemento durante la instalación.

Primero, instalemos el complemento vieux/sshfs. Este complemento te permite utilizar SSHFS para montar volúmenes.

docker plugin install vieux/sshfs

Se te pedirá que aceptes las capacidades del complemento. Escribe y y presiona Enter para continuar.

Plugin "vieux/sshfs" is requesting the following capabilities:
  - Network: host
  - Mounts: [/dev/fuse]
  - Args: [--sshkey-path]
Do you grant the plugin these permissions? [y/N] y

Después de aceptar, el complemento se instalará y habilitará. Puedes verificar la instalación listando los complementos instalados.

docker plugin ls

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

Intentar eliminar un complemento (plugin) habilitado

En el paso anterior, instalaste y habilitaste el complemento vieux/sshfs. En este paso, intentarás eliminar este complemento mientras todavía está habilitado. Esto demostrará que no puedes eliminar directamente un complemento habilitado.

El comando para eliminar un complemento de Docker es docker plugin rm. Intentaremos eliminar el complemento vieux/sshfs.

docker plugin rm vieux/sshfs

Verás un mensaje de error que indica que el complemento está habilitado y no se puede eliminar. Este es el comportamiento esperado, ya que Docker impide que elimines un complemento que está actualmente en uso o activo.

La salida será similar a esta:

Error response from daemon: plugin vieux/sshfs is enabled. Disable it before removing

Esto confirma que debes deshabilitar un complemento antes de poder eliminarlo. En el siguiente paso, aprenderás cómo deshabilitar el complemento.

Deshabilitar el complemento (plugin)

En el paso anterior, aprendiste que no puedes eliminar un complemento de Docker habilitado. Para eliminar un complemento, primero debes deshabilitarlo.

El comando para deshabilitar un complemento de Docker es docker plugin disable. Ahora deshabilitaremos el complemento vieux/sshfs que instalaste en el primer paso.

docker plugin disable vieux/sshfs

Este comando detendrá el complemento y lo hará inactivo. No verás mucha salida si el comando tiene éxito.

Para confirmar que el complemento se ha deshabilitado, puedes listar los complementos instalados nuevamente.

docker plugin ls

Ahora, la salida para vieux/sshfs debería mostrar ENABLED como false.

ID                  NAME                DESCRIPTION         ENABLED
f51132325c3b        vieux/sshfs         Create SSHFS mounts true

¡Espera, la salida todavía muestra true! Esto se debe a que el comando docker plugin ls puede mostrar información en caché. Intentemos listar los complementos nuevamente para ver el estado actualizado.

docker plugin ls

Ahora deberías ver el estado ENABLED para vieux/sshfs como false.

ID                  NAME                DESCRIPTION         ENABLED
f51132325c3b        vieux/sshfs         Create SSHFS mounts false

El complemento ahora está deshabilitado y listo para ser eliminado.

Eliminar el complemento (plugin) deshabilitado

En el paso anterior, deshabilitaste con éxito el complemento vieux/sshfs. Ahora que el complemento está deshabilitado, puedes eliminarlo utilizando el comando docker plugin rm.

docker plugin rm vieux/sshfs

Si el complemento se eliminó con éxito, verás el nombre del complemento impreso en la salida.

vieux/sshfs

Para confirmar que el complemento se ha eliminado, lista los complementos instalados nuevamente.

docker plugin ls

Esta vez, el complemento vieux/sshfs ya no debería aparecer en la lista.

Esto demuestra el proceso estándar para eliminar un complemento de Docker: primero deshabilítalo, luego elimínalo. En el siguiente paso, explorarás qué sucede si intentas forzar la eliminación de un complemento.

Intentar eliminar el complemento (plugin) forzosamente

En los pasos anteriores, aprendiste que debes deshabilitar un complemento antes de eliminarlo. ¿Qué sucede si intentas forzar la eliminación de un complemento habilitado?

El comando docker plugin rm tiene una opción --force o -f que se puede utilizar para intentar forzar la eliminación de un complemento. Sin embargo, incluso con la opción de fuerza, Docker no eliminará un complemento habilitado.

Primero, volvamos a instalar el complemento vieux/sshfs para tener un complemento habilitado con el que trabajar.

docker plugin install vieux/sshfs

Recuerda escribir y y presionar Enter cuando se te solicite que aceptes las capacidades.

Ahora que el complemento está instalado y habilitado nuevamente, intentemos eliminarlo utilizando la opción de fuerza.

docker plugin rm --force vieux/sshfs

Verás un mensaje de error similar al que obtuviste cuando intentaste eliminarlo sin la opción de fuerza, lo que indica que el complemento está habilitado y no se puede eliminar.

Error response from daemon: plugin vieux/sshfs is enabled. Disable it before removing

Esto confirma que la opción de fuerza no anula el requisito de deshabilitar un complemento antes de eliminarlo. La opción de fuerza se utiliza normalmente en otros contextos de Docker, como la eliminación de contenedores, imágenes o volúmenes, para omitir ciertas comprobaciones, pero no se aplica a la eliminación de complementos habilitados.

Para limpiar, puedes deshabilitar y eliminar el complemento nuevamente si lo deseas, siguiendo los pasos que aprendiste anteriormente.

Resumen

En este laboratorio, aprendiste cómo instalar un complemento (plugin) de Docker utilizando docker plugin install y verificaste su instalación con docker plugin ls. Luego, intentaste eliminar un complemento habilitado utilizando docker plugin rm y descubriste que Docker impide la eliminación de complementos activos, requiriendo que se deshabiliten primero.