Introdução
Neste laboratório, você aprenderá como gerenciar plugins do Docker, com foco específico no processo de atualização (upgrade). Você começará instalando e usando um plugin do Docker para entender sua funcionalidade básica e como ele se integra ao Docker.
Após a configuração inicial, você aprenderá os passos necessários para preparar um plugin para atualização, o que envolve desabilitá-lo. Finalmente, você realizará a atualização usando o comando docker plugin upgrade e, em seguida, reativará e verificará o plugin atualizado para garantir que ele esteja funcionando corretamente. Este laboratório oferece experiência prática com o gerenciamento do ciclo de vida de plugins do Docker.
Instalar e usar um plugin do Docker
Nesta etapa, você aprenderá como instalar e usar um plugin do Docker. Plugins do Docker estendem a funcionalidade do Docker. Eles podem fornecer recursos como gerenciamento de volume, drivers de rede e muito mais. Vamos instalar um plugin de volume simples chamado rexray/s3fs, que permite que volumes do Docker sejam armazenados no Amazon S3. Embora não configuremos um backend S3 completo, a instalação do plugin demonstra o processo.
Primeiro, vamos instalar o plugin. Você pode instalar um plugin do Docker usando o comando docker plugin install.
sudo docker plugin install rexray/s3fs --grant-all-permissions
Este comando instala o plugin rexray/s3fs e concede a ele todas as permissões necessárias. A flag --grant-all-permissions é usada aqui para simplificar neste ambiente de laboratório. Em um ambiente de produção, você deve revisar cuidadosamente e conceder apenas as permissões necessárias.
Você será solicitado a confirmar a instalação e as permissões. Digite y e pressione 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
Após a confirmação, o Docker fará o download e instalará o plugin. Isso pode levar um momento, dependendo da sua conexão de rede.
Assim que a instalação for concluída, você pode verificar se o plugin está instalado e habilitado usando o comando docker plugin ls.
sudo docker plugin ls
Você deve ver rexray/s3fs listado com o status ENABLED definido como true.
ID NAME DESCRIPTION ENABLED
xxxxxxxxxxxx rexray/s3fs REX-Ray S3FS Docker Volume Plugin true
Agora que o plugin está instalado e habilitado, você pode usá-lo para criar um volume. Embora não possamos utilizar totalmente a funcionalidade S3 sem configurar as credenciais S3, ainda podemos criar um volume usando o driver do plugin.
sudo docker volume create --driver rexray/s3fs my-s3-volume
Este comando tenta criar um volume chamado my-s3-volume usando o driver rexray/s3fs. Como não configuramos o S3, este comando pode mostrar um aviso ou erro relacionado à conectividade S3, mas o próprio objeto de volume será criado pelo Docker.
Você pode listar os volumes para ver o volume recém-criado.
sudo docker volume ls
Você deve ver my-s3-volume listado com o DRIVER como rexray/s3fs.
DRIVER VOLUME NAME
rexray/s3fs my-s3-volume
Finalmente, você pode inspecionar o volume para ver mais detalhes sobre ele.
sudo docker volume inspect my-s3-volume
Este comando exibirá um objeto JSON contendo informações sobre my-s3-volume, incluindo seu driver.
Desabilitar o plugin antes da atualização
Nesta etapa, você aprenderá como desabilitar um plugin do Docker. Antes de atualizar um plugin do Docker, é uma boa prática desabilitá-lo primeiro. Isso garante que o plugin não esteja sendo usado ativamente por nenhum contêiner ou serviço durante o processo de atualização, evitando possíveis problemas.
Você pode desabilitar um plugin do Docker usando o comando docker plugin disable.
sudo docker plugin disable rexray/s3fs
Este comando desabilita o plugin rexray/s3fs. Se o plugin estiver atualmente em uso por algum contêiner em execução, o Docker impedirá que você o desabilite e fornecerá uma mensagem de erro. Em nosso caso, o plugin não está sendo usado ativamente por um contêiner em execução, então ele deve desabilitar com sucesso.
Após desabilitar o plugin, você pode verificar seu status usando o comando docker plugin ls.
sudo docker plugin ls
Você deve agora ver rexray/s3fs listado com o status ENABLED definido como false.
ID NAME DESCRIPTION ENABLED
xxxxxxxxxxxx rexray/s3fs REX-Ray S3FS Docker Volume Plugin false
Desabilitar o plugin o torna inativo, mas ele ainda está instalado em seu sistema. Este estado é necessário antes de prosseguir com uma atualização ou remoção do plugin.
Atualizar o plugin do Docker
Nesta etapa, você aprenderá como atualizar um plugin do Docker. A atualização de um plugin envolve a instalação de uma versão mais recente do plugin. Como já desabilitamos o plugin na etapa anterior, podemos prosseguir com a atualização.
Para atualizar um plugin do Docker, você usa o comando docker plugin install novamente, especificando o nome do plugin e, possivelmente, uma nova tag se você quiser uma versão específica. Se você não especificar uma tag, o Docker buscará a versão mais recente. Usaremos o mesmo nome de plugin, e o Docker cuidará do processo de atualização.
sudo docker plugin install rexray/s3fs --grant-all-permissions
Este comando tentará instalar o plugin rexray/s3fs novamente. Como uma versão já está instalada, o Docker reconhecerá isso como uma tentativa de atualização. Você será solicitado a confirmar a atualização e as permissões, semelhante à instalação 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
Digite y e pressione Enter para prosseguir com a atualização. O Docker fará o download da nova versão do plugin e substituirá a existente.
Após a conclusão da atualização, o plugin permanecerá em um estado desabilitado. Você pode verificar isso usando o comando docker plugin ls.
sudo docker plugin ls
Você ainda deve ver rexray/s3fs listado com o status ENABLED definido como false. O ID pode ter mudado, indicando que uma nova versão foi instalada.
ID NAME DESCRIPTION ENABLED
yyyyyyyyyyyy rexray/s3fs REX-Ray S3FS Docker Volume Plugin false
A atualização do plugin substitui os arquivos executáveis e de configuração do plugin pela nova versão. É importante reabilitar o plugin após a atualização para torná-lo disponível para uso.
Reativar e verificar o plugin atualizado
Nesta etapa, você reabilitará o plugin do Docker atualizado e verificará se ele está funcionando corretamente. Após atualizar um plugin, ele permanece em um estado desabilitado. Você precisa habilitá-lo explicitamente para torná-lo disponível para uso pelo Docker.
Você pode habilitar um plugin do Docker usando o comando docker plugin enable.
sudo docker plugin enable rexray/s3fs
Este comando habilita o plugin rexray/s3fs. Se o plugin iniciar com sucesso, o comando será concluído sem saída. Se houver problemas ao iniciar o plugin, você poderá ver uma mensagem de erro.
Após habilitar o plugin, você pode verificar seu status usando o comando docker plugin ls.
sudo docker plugin ls
Você deve agora ver rexray/s3fs listado com o status ENABLED definido novamente como true.
ID NAME DESCRIPTION ENABLED
yyyyyyyyyyyy rexray/s3fs REX-Ray S3FS Docker Volume Plugin true
Para verificar ainda mais se o plugin atualizado está funcionando, você pode tentar criar outro volume usando o driver do plugin.
sudo docker volume create --driver rexray/s3fs my-s3-volume-2
Este comando cria um novo volume chamado my-s3-volume-2 usando o driver rexray/s3fs. Se o plugin estiver funcionando corretamente, este comando deve ser bem-sucedido (embora, como antes, possa mostrar avisos relacionados à conectividade S3 se não estiver configurado).
Você pode listar os volumes novamente para ver o novo volume.
sudo docker volume ls
Você deve agora ver my-s3-volume e my-s3-volume-2 listados com o DRIVER como rexray/s3fs.
DRIVER VOLUME NAME
rexray/s3fs my-s3-volume
rexray/s3fs my-s3-volume-2
Isso confirma que o plugin atualizado está habilitado e pode ser usado para criar volumes.
Resumo
Neste laboratório, você aprendeu como instalar e usar um plugin do Docker. Especificamente, você instalou o plugin de volume rexray/s3fs usando o comando docker plugin install, concedendo as permissões necessárias. Em seguida, você verificou a instalação bem-sucedida e o status habilitado do plugin usando docker plugin ls.
Após a instalação, você aprendeu a etapa crucial de desabilitar o plugin usando docker plugin disable antes de prosseguir com uma atualização. Em seguida, você realizou a atualização do plugin usando o comando docker plugin upgrade, especificando a nova versão. Finalmente, você reabilitou o plugin atualizado com docker plugin enable e verificou seu status e funcionalidade, confirmando o processo de atualização bem-sucedido.



