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.
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.



