Cómo usar el comando docker plugin install para instalar y gestionar complementos (plugins)

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 instalar y gestionar complementos (plugins) de Docker utilizando el comando docker plugin install. Explorará diferentes escenarios de instalación, incluyendo la instalación de un complemento con la configuración predeterminada, la instalación de un complemento y su configuración con parámetros específicos, y la instalación de un complemento sin habilitarlo inmediatamente.

A través de ejemplos prácticos, adquirirá experiencia práctica en la extensión de las capacidades de Docker mediante la integración de servicios externos para el almacenamiento y otras funcionalidades. Finalmente, aprenderá cómo verificar la instalación exitosa de sus complementos.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/NetworkOperationsGroup(["Network Operations"]) docker(("Docker")) -.-> docker/ContainerOperationsGroup(["Container Operations"]) docker(("Docker")) -.-> docker/VolumeOperationsGroup(["Volume Operations"]) docker(("Docker")) -.-> docker/SystemManagementGroup(["System Management"]) docker/ContainerOperationsGroup -.-> docker/ls("List Containers") docker/ContainerOperationsGroup -.-> docker/inspect("Inspect Container") docker/VolumeOperationsGroup -.-> docker/volume("Manage Volumes") docker/SystemManagementGroup -.-> docker/system("Manage Docker") docker/NetworkOperationsGroup -.-> docker/network("Manage Networks") subgraph Lab Skills docker/ls -.-> lab-555191{{"Cómo usar el comando docker plugin install para instalar y gestionar complementos (plugins)"}} docker/inspect -.-> lab-555191{{"Cómo usar el comando docker plugin install para instalar y gestionar complementos (plugins)"}} docker/volume -.-> lab-555191{{"Cómo usar el comando docker plugin install para instalar y gestionar complementos (plugins)"}} docker/system -.-> lab-555191{{"Cómo usar el comando docker plugin install para instalar y gestionar complementos (plugins)"}} docker/network -.-> lab-555191{{"Cómo usar el comando docker plugin install para instalar y gestionar complementos (plugins)"}} end

Instalar un complemento (plugin) con la configuración predeterminada

En este paso, aprenderá cómo instalar un complemento (plugin) de Docker con su configuración predeterminada. Los complementos de Docker extienden la funcionalidad de Docker, lo que le permite integrarse con sistemas externos para el almacenamiento, la red y más.

Para instalar un complemento, se utiliza el comando docker plugin install seguido del nombre del complemento. Por defecto, Docker descargará el complemento desde Docker Hub.

Vamos a instalar el complemento rexray/s3fs, que proporciona almacenamiento respaldado por S3 para volúmenes de Docker.

docker plugin install rexray/s3fs

Cuando ejecute este comando, Docker descargará el complemento y solicitará confirmación para otorgarle los permisos necesarios. Escriba y y presione Enter para continuar.

Plugin "rexray/s3fs" is requesting the following permissions:
 - network: [host]
 - mount: [/dev/fuse]
 - allow-vulnerable-api: true
 - allow-host-access: true
 - allow-device: [/dev/fuse]
 - allow-cap: [sys_admin]
Do you grant the plugin "rexray/s3fs" these permissions? [y/N] y

Después de confirmar, Docker instalará y habilitará el complemento. Debería ver una salida que indique que el complemento se ha instalado y habilitado.

rexray/s3fs:latest

Esta salida confirma que el complemento rexray/s3fs se ha instalado correctamente y ahora está habilitado, listo para ser utilizado para crear volúmenes respaldados por S3.

Instalar un complemento (plugin) y establecer parámetros de configuración

En este paso, aprenderá cómo instalar un complemento (plugin) de Docker y configurarlo con parámetros específicos durante la instalación. Algunos complementos requieren configuraciones, como claves de API, puntos finales o otros detalles específicos del servicio, para funcionar correctamente.

Puede pasar parámetros de configuración al comando docker plugin install utilizando el formato nombre_del_complemento nombre_del_parámetro=valor_del_parámetro.

Vamos a instalar el complemento vieux/sshfs, que le permite utilizar SSHFS para volúmenes de Docker. Este complemento requiere especificar el usuario SSH y el host.

docker plugin install vieux/sshfs SSH_USER=labex SSH_HOST=localhost

Al igual que en el paso anterior, Docker descargará el complemento y solicitará permisos. Escriba y y presione Enter para otorgar los permisos.

Plugin "vieux/sshfs" is requesting the following permissions:
 - network: [host]
 - mount: [/dev/fuse]
 - allow-vulnerable-api: true
 - allow-host-access: true
 - allow-device: [/dev/fuse]
 - allow-cap: [sys_admin]
Do you grant the plugin "vieux/sshfs" these permissions? [y/N] y

Después de confirmar, el complemento se instalará y habilitará con los parámetros de configuración especificados.

vieux/sshfs:latest

Esta salida confirma que el complemento vieux/sshfs se ha instalado y habilitado con SSH_USER establecido en labex y SSH_HOST establecido en localhost. Estos parámetros se utilizarán por el complemento al crear volúmenes.

Instalar un complemento (plugin) sin habilitarlo

En este paso, aprenderá cómo instalar un complemento (plugin) de Docker sin habilitarlo inmediatamente. Esto puede ser útil si desea instalar un complemento pero no desea que esté activo hasta que esté listo para usarlo, o si necesita realizar pasos de configuración adicionales antes de habilitarlo.

Para instalar un complemento sin habilitarlo, se utiliza la bandera --disable con el comando docker plugin install.

Vamos a instalar el complemento containernetworking/cni, que proporciona capacidades de red CNI (Container Network Interface), pero lo mantendremos deshabilitado por ahora.

docker plugin install --disable containernetworking/cni

Docker descargará el complemento y solicitará permisos. Escriba y y presione Enter para otorgar los permisos.

Plugin "containernetworking/cni" is requesting the following permissions:
 - network: [host]
 - mount: [/dev/fuse]
 - allow-vulnerable-api: true
 - allow-host-access: true
 - allow-device: [/dev/fuse]
 - allow-cap: [sys_admin]
Do you grant the plugin "containernetworking/cni" these permissions? [y/N] y

Después de confirmar, el complemento se instalará pero permanecerá en un estado deshabilitado.

containernetworking/cni:latest

Esta salida confirma que el complemento containernetworking/cni se ha instalado correctamente. En el siguiente paso, verificaremos su estado.

Verificar el complemento (plugin) instalado

En este paso, aprenderá cómo verificar el estado de los complementos (plugins) de Docker instalados. Puede comprobar qué complementos están instalados, su versión y si están habilitados o deshabilitados.

Para listar todos los complementos instalados, se utiliza el comando docker plugin ls.

docker plugin ls

Este comando mostrará una tabla con información sobre cada complemento instalado, incluyendo su ID, Nombre, Descripción, estado de Habilitado y Versión.

Debería ver los tres complementos que instalamos en los pasos anteriores: rexray/s3fs, vieux/sshfs y containernetworking/cni.

ID                  NAME                       DESCRIPTION                                            ENABLED             VERSION
a1b2c3d4e5f6        rexray/s3fs:latest         REX-Ray S3FS Plugin                                    true                latest
g7h8i9j0k1l2        vieux/sshfs:latest         The `sshfs` plugin for Docker.                         true                latest
m3n4o5p6q7r8        containernetworking/cni:latest CNI network plugin for Docker                        false               latest

Tenga en cuenta que rexray/s3fs y vieux/sshfs se listan como HABILITADOS (true), mientras que containernetworking/cni se lista como HABILITADO (false), ya que lo instalamos con la bandera --disable.

También puede inspeccionar un complemento específico para obtener información más detallada utilizando el comando docker plugin inspect seguido del nombre o ID del complemento.

Vamos a inspeccionar el complemento containernetworking/cni:

docker plugin inspect containernetworking/cni

Este comando generará un objeto JSON detallado que contiene toda la información de configuración y estado del complemento. Puede examinar esta salida para confirmar la configuración y el estado del complemento. Busque la línea "Enabled": false en la salida para confirmar que está deshabilitado.

[
  {
    "Id": "m3n4o5p6q7r8",
    "Name": "containernetworking/cni:latest",
    "Enabled": false,
    "Settings": {
      "Args": [],
      "Env": [],
      "Devices": [],
      "Mounts": []
    },
    "PluginReference": "docker.io/containernetworking/cni:latest",
    "Config": {
      "DockerVersion": "20.10.21",
      "Description": "CNI network plugin for Docker",
      "Documentation": "https://github.com/containernetworking/cni",
      "Interface": {
        "Types": ["docker.networkdriver/1.0"],
        "Socket": "cni.sock"
      },
      "Entrypoint": ["/docker-cni-plugin"],
      "PropagatedMount": "/opt/cni",
      "WorkDir": "",
      "User": {},
      "Args": {
        "Name": "",
        "Description": ""
      },
      "Linux": {
        "Capabilities": ["CAP_SYS_ADMIN"],
        "AllowAllDevices": false,
        "Devices": [
          {
            "Name": "fuse",
            "Path": "/dev/fuse"
          }
        ]
      },
      "Rootfs": {
        "Type": "tar",
        "DiffIds": ["sha256:..."]
      }
    }
  }
]

Este paso concluye el proceso de instalación y verificación de complementos de Docker. Ha aprendido cómo instalar complementos con configuraciones predeterminadas, con parámetros de configuración específicos y cómo instalarlos sin habilitarlos inmediatamente. También sabe cómo listar e inspeccionar los complementos instalados para verificar su estado.

Resumen

En este laboratorio (lab), aprendiste cómo instalar y gestionar complementos (plugins) de Docker utilizando el comando docker plugin install. Practicaste la instalación de un complemento con configuraciones predeterminadas, lo que implica simplemente especificar el nombre del complemento y confirmar los permisos solicitados.

Además, exploraste cómo instalar un complemento mientras se establecen parámetros de configuración específicos durante el proceso de instalación, demostrando cómo personalizar el comportamiento del complemento desde el principio. Finalmente, aprendiste cómo verificar la instalación exitosa de un complemento.