Como usar o comando docker context create para gerenciar endpoints Docker

DockerBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá como gerenciar efetivamente diferentes endpoints do Docker usando o comando docker context create. Você explorará como criar um novo contexto que aponta para o seu daemon Docker local, permitindo que você defina e alterne explicitamente entre as conexões.

Além disso, você descobrirá como otimizar a criação de contextos aproveitando a configuração de contextos existentes. Isso inclui a criação de um novo contexto copiando de um existente e a criação de um contexto que utiliza a configuração do endpoint Docker de outro contexto, proporcionando flexibilidade e eficiência no gerenciamento de seus ambientes Docker.

Criar um contexto com um endpoint Docker local

Nesta etapa, você aprenderá como criar um contexto Docker que aponta para o seu daemon Docker local. Um contexto Docker é uma maneira de gerenciar conexões a diferentes daemons Docker (locais ou remotos). Por padrão, o Docker usa o contexto default, que aponta para o daemon local. No entanto, você pode criar novos contextos para definir explicitamente as conexões.

Primeiro, vamos verificar os contextos existentes.

docker context ls

Você deve ver o contexto default listado.

Agora, vamos criar um novo contexto chamado my-local-context que aponta para o endpoint Docker local. Usaremos o comando docker context create com a flag --docker para especificar o endpoint Docker. Como estamos nos conectando ao daemon local, podemos usar o caminho do socket padrão.

docker context create my-local-context --docker "host=unix:///var/run/docker.sock"

Após criar o contexto, você pode listar os contextos novamente para ver o recém-criado.

docker context ls

Você agora deve ver tanto default quanto my-local-context listados. O asterisco (*) indica o contexto atualmente ativo, que ainda deve ser default.

Para usar o novo contexto, você precisa alternar para ele usando o comando docker context use.

docker context use my-local-context

Agora, se você listar os contextos novamente, my-local-context deve ser o ativo.

docker context ls

Você pode verificar se está usando o my-local-context executando um comando Docker simples, como listar imagens.

docker images

Este comando agora será executado contra o daemon Docker especificado por my-local-context.

Finalmente, você pode voltar para o contexto padrão, se necessário.

docker context use default

Criar um contexto a partir de um contexto existente

Nesta etapa, você aprenderá como criar um novo contexto Docker copiando a configuração de um contexto existente. Isso pode ser útil se você deseja criar uma versão ligeiramente modificada de um contexto existente sem ter que especificar todos os detalhes novamente.

Primeiro, vamos garantir que temos o my-local-context criado na etapa anterior. Você pode listar os contextos para confirmar.

docker context ls

Agora, criaremos um novo contexto chamado my-copied-context com base no my-local-context. Usaremos o comando docker context create e especificaremos a flag --from seguida pelo nome do contexto existente.

docker context create my-copied-context --from my-local-context

Após criar o novo contexto, liste os contextos novamente para ver my-copied-context na lista.

docker context ls

Você agora deve ver default, my-local-context e my-copied-context. O my-copied-context terá a mesma configuração de endpoint Docker que my-local-context.

Você pode alternar para o novo contexto para verificar sua configuração.

docker context use my-copied-context

Agora, liste os contextos novamente para confirmar que my-copied-context é o ativo.

docker context ls

Você também pode inspecionar a configuração do novo contexto usando o comando docker context inspect.

docker context inspect my-copied-context

Isso mostrará os detalhes do contexto, incluindo o endpoint Docker que ele está configurado para usar. Você deve ver que ele está configurado para usar o socket Docker local, assim como my-local-context.

Finalmente, volte para o contexto padrão para a próxima etapa.

docker context use default

Criar um contexto usando a configuração do endpoint Docker de outro contexto

Nesta etapa, você aprenderá como criar um novo contexto Docker e especificar explicitamente a configuração do endpoint Docker, potencialmente usando informações de outro contexto como referência. Embora a etapa anterior tenha mostrado como copiar um contexto inteiro, este método permite um controle mais granular sobre a configuração do novo contexto.

Primeiro, vamos listar os contextos existentes para ver o que temos.

docker context ls

Você deve ver default, my-local-context e my-copied-context.

Agora, criaremos um novo contexto chamado my-explicit-context. Definiremos explicitamente o endpoint Docker usando a flag --docker, semelhante à Etapa 1. Podemos nos referir à configuração de um contexto existente como my-local-context para obter os detalhes corretos do endpoint, embora, neste caso, seja o socket local padrão.

docker context create my-explicit-context --description "Contexto com endpoint local explícito" --docker "host=unix:///var/run/docker.sock"

Também adicionamos uma descrição usando a flag --description para tornar o propósito do contexto mais claro.

Liste os contextos novamente para ver o recém-criado my-explicit-context.

docker context ls

Você agora deve ver default, my-local-context, my-copied-context e my-explicit-context.

Alterne para o novo contexto para torná-lo ativo.

docker context use my-explicit-context

Liste os contextos mais uma vez para confirmar que my-explicit-context é o ativo.

docker context ls

Você também pode inspecionar a configuração de my-explicit-context para ver os detalhes, incluindo a descrição que você adicionou.

docker context inspect my-explicit-context

Isso demonstra como você pode criar um contexto fornecendo explicitamente a configuração do endpoint Docker, o que é útil ao conectar-se a daemons Docker remotos ou quando você precisa de controle preciso sobre os detalhes da conexão.

Resumo

Neste laboratório, você aprendeu como gerenciar endpoints Docker usando o comando docker context create. Você começou criando um novo contexto chamado my-local-context que aponta explicitamente para o daemon Docker local, demonstrando como definir uma conexão usando a flag --docker e o caminho do socket. Você praticou a listagem de contextos existentes, alternando entre eles usando docker context use e verificando o contexto ativo. Você também viu como a execução de um comando Docker como docker images é executada em relação ao contexto atualmente ativo.

Além disso, você explorou como criar um novo contexto aproveitando a configuração de um contexto existente, que é uma maneira conveniente de construir sobre as configurações de conexão existentes. Isso permite o gerenciamento eficiente e a reutilização das configurações do endpoint Docker.