Introdução
Neste laboratório, exploraremos como modificar a configuração de contextos Docker existentes usando o comando docker context update. Começaremos criando um novo contexto Docker para trabalhar.
Após a criação do contexto, demonstraremos como atualizar sua descrição e alterar o endpoint Docker ao qual ele se conecta. Finalmente, verificaremos se a configuração do contexto foi atualizada com sucesso. Este exercício prático fornecerá experiência prática no gerenciamento e modificação de contextos Docker para conectar a diferentes daemons Docker.
Criar um novo contexto Docker
Nesta etapa, aprenderemos como criar um novo contexto Docker. Um contexto Docker é uma forma de gerenciar conexões a diferentes daemons Docker. Por padrão, o Docker usa o contexto default, que se conecta ao daemon Docker local. No entanto, você pode criar novos contextos para se conectar a daemons Docker remotos ou outras plataformas de orquestração de contêineres.
Para criar um novo contexto Docker, usamos o comando docker context create. Este comando requer um nome para o novo contexto e o endpoint do daemon Docker ao qual ele deve se conectar. Para este laboratório, criaremos um contexto chamado my-context que se conecta ao daemon Docker local.
Abra seu terminal e execute o seguinte comando:
docker context create my-context --docker host=unix:///var/run/docker.sock
Este comando cria um novo contexto chamado my-context. A opção --docker host=unix:///var/run/docker.sock especifica que este contexto deve se conectar ao daemon Docker via o socket Unix em /var/run/docker.sock. Este é o local padrão para o socket Docker na maioria dos sistemas Linux.
Após executar o comando, você deverá ver uma saída semelhante a esta, indicando que o contexto foi criado com sucesso:
my-context
Successfully created context "my-context"
Agora que criamos o contexto, podemos verificar sua existência listando os contextos disponíveis. Use o comando docker context ls:
docker context ls
Você deverá ver uma lista de contextos, incluindo o contexto default e o recém-criado my-context. A saída será algo parecido com isto:
NAME DESCRIPTION DOCKER ENDPOINT KUBERNETES ENDPOINT ORCHESTRATOR
default * Current DOCKER_HOST unix:///var/run/docker.sock swarm
my-context unix:///var/run/docker.sock
O asterisco (*) ao lado de default indica que ele é atualmente o contexto ativo. Aprenderemos como alternar entre contextos em uma etapa posterior.
Atualizar a descrição do contexto
Nesta etapa, atualizaremos a descrição do contexto Docker que criamos na etapa anterior. Adicionar uma descrição a um contexto pode ser útil para lembrar para que o contexto é usado, especialmente quando você tem vários contextos.
Para atualizar um contexto Docker, usamos o comando docker context update. Este comando requer o nome do contexto que você deseja atualizar e as opções que deseja alterar. Atualizaremos o contexto my-context e adicionaremos uma descrição a ele.
Abra seu terminal e execute o seguinte comando:
docker context update my-context --description "My local Docker context"
Este comando atualiza o contexto my-context e define sua descrição como "My local Docker context".
Após executar o comando, você deverá ver uma saída semelhante a esta, confirmando a atualização:
my-context
Successfully updated context "my-context"
Agora, vamos verificar se a descrição foi atualizada. Podemos usar o comando docker context ls novamente para listar os contextos e ver suas descrições:
docker context ls
Você agora deverá ver a descrição "My local Docker context" associada ao my-context. A saída será assim:
NAME DESCRIPTION DOCKER ENDPOINT KUBERNETES ENDPOINT ORCHESTRATOR
default * Current DOCKER_HOST unix:///var/run/docker.sock swarm
my-context My local Docker context unix:///var/run/docker.sock
Adicionar descrições é uma boa prática para organizar seus contextos Docker.
Atualizar o endpoint Docker do contexto
Nesta etapa, atualizaremos o endpoint Docker associado ao nosso my-context. Embora em um cenário do mundo real você possa atualizar o endpoint para apontar para um daemon Docker remoto, para este laboratório, demonstraremos o processo alterando o endpoint para um formato ligeiramente diferente que ainda aponta para o daemon local. Isso mostra como você modificaria os detalhes da conexão, se necessário.
Para atualizar o endpoint Docker, usamos o comando docker context update novamente, mas desta vez especificamos a opção --docker host com o novo endpoint. Mudaremos o endpoint de unix:///var/run/docker.sock para unix://var/run/docker.sock (removendo a barra extra após unix:).
Abra seu terminal e execute o seguinte comando:
docker context update my-context --docker host=unix://var/run/docker.sock
Este comando atualiza o contexto my-context e altera seu endpoint Docker.
Após executar o comando, você deverá ver uma saída semelhante a esta, confirmando a atualização:
my-context
Successfully updated context "my-context"
Agora, vamos verificar se o endpoint Docker foi atualizado. Podemos usar o comando docker context ls novamente para listar os contextos e ver seus endpoints:
docker context ls
Você agora deverá ver o endpoint Docker atualizado unix://var/run/docker.sock associado ao my-context. A saída será assim:
NAME DESCRIPTION DOCKER ENDPOINT KUBERNETES ENDPOINT ORCHESTRATOR
default * Current DOCKER_HOST unix:///var/run/docker.sock swarm
my-context My local Docker context unix://var/run/docker.sock
Atualizar o endpoint é crucial quando você precisa alterar como seu contexto Docker se conecta ao daemon Docker, como mudar de uma conexão local para uma remota.
Verificar a configuração do contexto atualizada
Nesta etapa final, realizaremos uma verificação abrangente do my-context para garantir que tanto a descrição quanto o endpoint Docker foram atualizados corretamente. Usaremos o comando docker context inspect, que fornece informações detalhadas sobre um contexto específico.
Abra seu terminal e execute o seguinte comando:
docker context inspect my-context
Este comando exibirá um documento JSON contendo os detalhes de configuração do my-context. Estamos procurando os campos Description e Docker.Endpoint dentro desta saída.
A saída deve ser semelhante a esta (a saída exata pode variar ligeiramente dependendo da sua versão e ambiente Docker):
[
{
"Name": "my-context",
"Metadata": {
"Description": "My local Docker context"
},
"Endpoints": {
"docker": {
"Host": "unix://var/run/docker.sock"
}
},
"TLSMaterial": {},
"Storage": "my-context"
}
]
Examine a saída para confirmar que o campo Description é "My local Docker context" e o campo Docker.Endpoint é "unix://var/run/docker.sock". Isso confirma que as atualizações que fizemos nas etapas anteriores foram bem-sucedidas.
Esta etapa conclui nosso laboratório sobre a criação e atualização de contextos Docker. Você aprendeu como criar um novo contexto, adicionar uma descrição e modificar seu endpoint Docker. Compreender os contextos Docker é essencial para gerenciar conexões a diferentes ambientes Docker.
Resumo
Neste laboratório, aprendemos como criar um novo contexto Docker usando o comando docker context create, especificando um nome e o endpoint Docker. Em seguida, verificamos a criação do novo contexto listando todos os contextos disponíveis com docker context ls.
Após a criação, exploramos como modificar a configuração de um contexto existente usando o comando docker context update. Especificamente, atualizamos a descrição e o endpoint Docker do contexto recém-criado. Finalmente, confirmamos que essas atualizações foram aplicadas com sucesso, listando novamente os contextos e observando as alterações na saída.



