Introdução
Neste laboratório, você aprenderá como instalar e gerenciar plugins do Docker usando o comando docker plugin install. Você explorará diferentes cenários de instalação, incluindo a instalação de um plugin com as configurações padrão, a instalação de um plugin e sua configuração com parâmetros específicos, e a instalação de um plugin sem ativá-lo imediatamente.
Através de exemplos práticos, você obterá experiência prática na extensão das capacidades do Docker, integrando serviços externos para armazenamento e outras funcionalidades. Finalmente, você aprenderá como verificar a instalação bem-sucedida de seus plugins.
Instalar um plugin com as configurações padrão
Nesta etapa, você aprenderá como instalar um plugin do Docker com suas configurações padrão. Os plugins do Docker estendem a funcionalidade do Docker, permitindo que você se integre a sistemas externos para armazenamento, rede e muito mais.
Para instalar um plugin, você usa o comando docker plugin install seguido pelo nome do plugin. O Docker irá buscar o plugin do Docker Hub por padrão.
Vamos instalar o plugin rexray/s3fs, que fornece armazenamento baseado em S3 para volumes do Docker.
docker plugin install rexray/s3fs
Ao executar este comando, o Docker fará o download do plugin e pedirá confirmação para conceder as permissões necessárias. Digite y e pressione Enter para prosseguir.
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
Após a confirmação, o Docker instalará e ativará o plugin. Você deve ver uma saída indicando que o plugin foi instalado e ativado.
rexray/s3fs:latest
Esta saída confirma que o plugin rexray/s3fs foi instalado com sucesso e agora está ativado, pronto para ser usado na criação de volumes baseados em S3.
Instalar um plugin e definir parâmetros de configuração
Nesta etapa, você aprenderá como instalar um plugin do Docker e configurá-lo com parâmetros específicos durante a instalação. Alguns plugins exigem configurações, como chaves de API, endpoints ou outros detalhes específicos do serviço, para funcionar corretamente.
Você pode passar parâmetros de configuração para o comando docker plugin install usando o formato plugin_name parameter_name=parameter_value.
Vamos instalar o plugin vieux/sshfs, que permite usar SSHFS para volumes do Docker. Este plugin requer a especificação do usuário e host SSH.
docker plugin install vieux/sshfs SSH_USER=labex SSH_HOST=localhost
Semelhante à etapa anterior, o Docker fará o download do plugin e pedirá permissões. Digite y e pressione Enter para conceder as permissões.
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
Após a confirmação, o plugin será instalado e ativado com os parâmetros de configuração especificados.
vieux/sshfs:latest
Esta saída confirma que o plugin vieux/sshfs foi instalado e ativado com o SSH_USER definido como labex e SSH_HOST definido como localhost. Esses parâmetros serão usados pelo plugin ao criar volumes.
Instalar um plugin sem ativá-lo
Nesta etapa, você aprenderá como instalar um plugin do Docker sem ativá-lo imediatamente. Isso pode ser útil se você deseja instalar um plugin, mas não quer que ele esteja ativo até que esteja pronto para usá-lo, ou se precisar realizar etapas de configuração adicionais antes de ativá-lo.
Para instalar um plugin sem ativá-lo, você usa a flag --disable com o comando docker plugin install.
Vamos instalar o plugin containernetworking/cni, que fornece recursos de rede CNI, mas mantê-lo desativado por enquanto.
docker plugin install --disable containernetworking/cni
O Docker fará o download do plugin e pedirá permissões. Digite y e pressione Enter para conceder as permissões.
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
Após a confirmação, o plugin será instalado, mas permanecerá em um estado desativado.
containernetworking/cni:latest
Esta saída confirma que o plugin containernetworking/cni foi instalado com sucesso. Na próxima etapa, verificaremos seu status.
Verificar o plugin instalado
Nesta etapa, você aprenderá como verificar o status dos plugins do Docker instalados. Você pode verificar quais plugins estão instalados, sua versão e se estão ativados ou desativados.
Para listar todos os plugins instalados, você usa o comando docker plugin ls.
docker plugin ls
Este comando exibirá uma tabela com informações sobre cada plugin instalado, incluindo seu ID, Nome, Descrição, status de Ativado e Versão.
Você deve ver os três plugins que instalamos nas etapas anteriores: rexray/s3fs, vieux/sshfs e 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
Observe que rexray/s3fs e vieux/sshfs estão listados como ENABLED (true), enquanto containernetworking/cni está listado como ENABLED (false), pois o instalamos com a flag --disable.
Você também pode inspecionar um plugin específico para obter informações mais detalhadas usando o comando docker plugin inspect seguido pelo nome ou ID do plugin.
Vamos inspecionar o plugin containernetworking/cni:
docker plugin inspect containernetworking/cni
Este comando produzirá um objeto JSON detalhado contendo todas as informações de configuração e status do plugin. Você pode examinar esta saída para confirmar as configurações e o estado do plugin. Procure a linha "Enabled": false na saída para confirmar que ele está desativado.
[
{
"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:..."]
}
}
}
]
Esta etapa conclui o processo de instalação e verificação dos plugins do Docker. Você aprendeu como instalar plugins com configurações padrão, com parâmetros de configuração específicos e como instalá-los sem ativá-los imediatamente. Você também sabe como listar e inspecionar plugins instalados para verificar seu status.
Resumo
Neste laboratório, você aprendeu como instalar e gerenciar plugins do Docker usando o comando docker plugin install. Você praticou a instalação de um plugin com as configurações padrão, o que envolve simplesmente especificar o nome do plugin e confirmar as permissões solicitadas.
Além disso, você explorou como instalar um plugin enquanto define parâmetros de configuração específicos durante o processo de instalação, demonstrando como personalizar o comportamento do plugin desde o início. Por fim, você aprendeu como verificar a instalação bem-sucedida de um plugin.



