Como usar o comando docker plugin set para alterar as configurações do plugin

DockerBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá como usar o comando docker plugin set para modificar as configurações de um plugin Docker. Começaremos inspecionando a configuração inicial de um plugin usando docker plugin inspect para entender seu estado atual.

Após a inspeção, você praticará a alteração de várias configurações do plugin, incluindo variáveis de ambiente, a origem de uma montagem (mount), um caminho de dispositivo e a origem de argumentos, tudo usando o comando docker plugin set. Essa experiência prática demonstrará a flexibilidade e o controle que você tem sobre o comportamento dos plugins Docker.

Inspecionar as configurações iniciais do plugin

Nesta etapa, aprenderemos como inspecionar as configurações iniciais de um plugin Docker. Plugins Docker estendem a funcionalidade do Docker, permitindo drivers de armazenamento personalizados, drivers de rede e muito mais. Antes de modificar as configurações de um plugin, é crucial entender sua configuração atual.

Usaremos o comando docker plugin inspect para visualizar os detalhes de um plugin específico. Para este laboratório, usaremos o plugin vieux/sshfs como exemplo. Este plugin permite que você monte sistemas de arquivos SSH remotos em seus contêineres.

Primeiro, vamos garantir que o plugin vieux/sshfs esteja instalado e habilitado. Se não estiver, você pode instalá-lo usando o comando docker plugin install.

docker plugin install vieux/sshfs:latest

Este comando instala o plugin vieux/sshfs do Docker Hub. A tag :latest especifica a versão mais recente do plugin.

Após a instalação do plugin, você pode verificar seu status usando o comando docker plugin ls.

docker plugin ls

Você deve ver vieux/sshfs:latest listado com o status ENABLED definido como true.

Agora, vamos inspecionar as configurações do plugin usando o comando docker plugin inspect.

docker plugin inspect vieux/sshfs:latest

Este comando exibirá um objeto JSON detalhado contendo todos os detalhes de configuração do plugin vieux/sshfs. Esta saída inclui informações sobre o ID, nome, status habilitado, configurações e muito mais do plugin.

Percorra a saída para ver as várias opções de configuração disponíveis para este plugin. Preste atenção na seção Settings, que contém os parâmetros de configuração específicos que podem ser modificados.

Alterar uma variável de ambiente usando docker plugin set

Nesta etapa, aprenderemos como alterar uma variável de ambiente para um plugin Docker usando o comando docker plugin set. Modificar as configurações do plugin permite que você personalize seu comportamento para atender às suas necessidades específicas.

Antes de podermos alterar as configurações de um plugin, o plugin deve ser desabilitado. Você não pode alterar as configurações de um plugin habilitado. Continuaremos a usar o plugin vieux/sshfs como nosso exemplo.

Primeiro, vamos desabilitar o plugin vieux/sshfs.

docker plugin disable vieux/sshfs:latest

Este comando desabilita o plugin especificado. Você pode verificar se o plugin está desabilitado executando docker plugin ls novamente. O status ENABLED para vieux/sshfs:latest agora deve ser false.

Agora que o plugin está desabilitado, podemos alterar uma variável de ambiente. O plugin vieux/sshfs possui uma variável de ambiente chamada DEBUG que controla a saída de depuração. Por padrão, isso provavelmente está definido como false. Vamos alterá-lo para true.

docker plugin set vieux/sshfs:latest DEBUG=true

Este comando define a variável de ambiente DEBUG para o plugin vieux/sshfs:latest como true. O formato para definir variáveis é PLUGIN_NAME VARIABLE_NAME=VALUE.

Depois de definir a variável de ambiente, você pode inspecionar o plugin novamente para confirmar a alteração.

docker plugin inspect vieux/sshfs:latest

Procure a seção Settings na saída JSON. Você deve ver uma entrada para Env, que é uma lista de variáveis de ambiente. A variável DEBUG agora deve estar definida como true.

Finalmente, depois de fazer as alterações desejadas, você pode reabilitar o plugin.

docker plugin enable vieux/sshfs:latest

Verifique se o plugin está habilitado usando docker plugin ls.

Alterar a origem de uma montagem usando docker plugin set

Nesta etapa, aprenderemos como alterar a origem de uma montagem para um plugin Docker usando o comando docker plugin set. Alguns plugins exigem acesso a diretórios ou arquivos específicos no sistema host. Estes são configurados como montagens.

Semelhante à alteração de variáveis de ambiente, você deve desabilitar o plugin antes de poder modificar suas configurações de montagem. Continuaremos usando o plugin vieux/sshfs.

Primeiro, certifique-se de que o plugin vieux/sshfs esteja desabilitado. Se você o habilitou na etapa anterior, desabilite-o agora.

docker plugin disable vieux/sshfs:latest

Verifique se o plugin está desabilitado usando docker plugin ls.

O plugin vieux/sshfs requer acesso ao arquivo /etc/ssh/ssh_known_hosts no sistema host para verificar a identidade do servidor SSH ao qual ele se conecta. Isso é configurado como uma montagem. Vamos alterar o caminho de origem desta montagem.

Vamos alterar o caminho de origem de /etc/ssh/ssh_known_hosts para /root/.ssh/known_hosts. Observação: Em um cenário real, você garantiria que o arquivo de destino exista e tenha as permissões corretas. Para este laboratório, estamos focando na sintaxe do comando.

docker plugin set vieux/sshfs:latest Mounts[0].Source=/root/.ssh/known_hosts

Este comando define o campo Source da primeira montagem (Mounts[0]) para o plugin vieux/sshfs:latest como /root/.ssh/known_hosts. A sintaxe Mounts[0] se refere ao primeiro elemento na matriz Mounts dentro das configurações do plugin. Você pode encontrar o índice da montagem que deseja alterar inspecionando a configuração do plugin.

Depois de alterar a origem da montagem, inspecione o plugin para confirmar a alteração.

docker plugin inspect vieux/sshfs:latest

Examine a seção Settings e encontre a matriz Mounts. O campo Source para a primeira montagem agora deve ser /root/.ssh/known_hosts.

Finalmente, reabilite o plugin.

docker plugin enable vieux/sshfs:latest

Verifique se o plugin está habilitado usando docker plugin ls.

Alterar o caminho de um dispositivo usando docker plugin set

Nesta etapa, aprenderemos como alterar o caminho de um dispositivo ao qual um plugin Docker tem acesso usando o comando docker plugin set. Alguns plugins podem exigir acesso direto a dispositivos host, como dispositivos de armazenamento ou interfaces de rede.

Assim como acontece com a alteração de outras configurações de plugin, o plugin deve ser desabilitado antes que você possa modificar suas configurações de dispositivo. Continuaremos usando o plugin vieux/sshfs como nosso exemplo, embora este plugin específico normalmente não exija acesso ao dispositivo. Demonstraremos a sintaxe do comando usando um dispositivo hipotético.

Primeiro, certifique-se de que o plugin vieux/sshfs esteja desabilitado.

docker plugin disable vieux/sshfs:latest

Verifique se o plugin está desabilitado usando docker plugin ls.

Agora, vamos imaginar que o plugin vieux/sshfs tivesse um requisito para acessar um dispositivo em /dev/sda1. Queremos alterar isso para /dev/sdb1. Usaríamos o comando docker plugin set com a matriz Devices.

Observação: O plugin vieux/sshfs na verdade não possui uma configuração Devices por padrão. Este é um exemplo hipotético para demonstrar a sintaxe do comando para alterar caminhos de dispositivos. Executar este comando no plugin vieux/sshfs provavelmente resultará em um erro porque o campo Devices não existe em sua configuração. No entanto, a sintaxe mostrada está correta para plugins que têm configurações de dispositivo.

Supondo que o plugin tivesse uma matriz Devices e quiséssemos alterar o PathOnHost do primeiro dispositivo (Devices[0]), o comando seria assim:

docker plugin set vieux/sshfs:latest Devices[0].PathOnHost=/dev/sdb1

Este comando tenta definir o campo PathOnHost do primeiro dispositivo (Devices[0]) para o plugin vieux/sshfs:latest como /dev/sdb1. A sintaxe Devices[0] se refere ao primeiro elemento na matriz Devices dentro das configurações do plugin.

Como o plugin vieux/sshfs não possui uma matriz Devices, o comando acima falhará. Isso é esperado para este plugin específico, mas ilustra a sintaxe correta para modificar caminhos de dispositivos para plugins que suportam esta configuração.

Para ver as configurações reais do plugin vieux/sshfs, você pode inspecioná-lo novamente.

docker plugin inspect vieux/sshfs:latest

Você não verá uma seção Devices na saída para este plugin.

Finalmente, reabilite o plugin.

docker plugin enable vieux/sshfs:latest

Verifique se o plugin está habilitado usando docker plugin ls.

Alterar a origem dos argumentos usando docker plugin set

Nesta etapa, aprenderemos como alterar a origem dos argumentos passados para um plugin Docker usando o comando docker plugin set. Alguns plugins aceitam argumentos de linha de comando durante sua inicialização ou execução.

Para modificar os argumentos de um plugin, ele deve ser desabilitado primeiro. Continuaremos usando o plugin vieux/sshfs como nosso exemplo.

Primeiro, certifique-se de que o plugin vieux/sshfs esteja desabilitado.

docker plugin disable vieux/sshfs:latest

Verifique se o plugin está desabilitado usando docker plugin ls.

O plugin vieux/sshfs aceita argumentos que são passados para o comando sshfs subjacente. Esses argumentos são configurados nas configurações do plugin. Vamos alterar a origem desses argumentos.

Vamos alterar a origem dos argumentos para incluir a opção -o allow_other, que permite que usuários não root montem o sistema de arquivos.

docker plugin set vieux/sshfs:latest Args="-o allow_other"

Este comando define o campo Args para o plugin vieux/sshfs:latest como "-o allow_other". O campo Args é tipicamente uma string ou uma matriz de strings que representam os argumentos de linha de comando passados para o executável do plugin.

Depois de alterar os argumentos, inspecione o plugin para confirmar a alteração.

docker plugin inspect vieux/sshfs:latest

Examine a seção Settings e encontre o campo Args. Ele agora deve estar definido como "-o allow_other".

Finalmente, reabilite o plugin.

docker plugin enable vieux/sshfs:latest

Verifique se o plugin está habilitado usando docker plugin ls.

Resumo

Neste laboratório, aprendemos como gerenciar as configurações de plugins Docker usando o comando docker plugin set. Começamos inspecionando a configuração inicial de um plugin usando docker plugin inspect para entender seu estado atual, focando especificamente na seção Settings. Essa inspeção inicial é crucial antes de fazer quaisquer modificações.

Posteriormente, exploramos como modificar várias configurações de plugin usando docker plugin set. Cobrimos a alteração de uma variável de ambiente, a alteração da origem de uma montagem, a modificação de um caminho de dispositivo e a alteração da origem de argumentos. Essas etapas demonstraram a flexibilidade do docker plugin set na personalização do comportamento do plugin para atender a requisitos específicos.