Introdução
Neste laboratório, você aprenderá como usar efetivamente o comando docker context ls para gerenciar e visualizar seus contextos Docker. Os contextos Docker são essenciais para alternar facilmente entre diferentes daemons Docker, sejam eles locais, remotos ou baseados em nuvem.
Através de passos práticos, você explorará como listar todos os contextos disponíveis com informações detalhadas, filtrar a saída para exibir apenas os nomes dos contextos e formatar a saída de várias maneiras, incluindo JSON e usando templates personalizados. Isso o equipará com as habilidades necessárias para identificar e entender rapidamente seus ambientes Docker configurados.
Listar todos os contextos Docker
Nesta etapa, você aprenderá como listar todos os contextos Docker disponíveis usando o comando docker context ls. Os contextos Docker permitem que você alterne entre diferentes daemons Docker facilmente, estejam eles rodando localmente, em uma máquina remota ou em um ambiente de nuvem.
Para listar todos os contextos Docker, abra seu terminal e execute o seguinte comando:
docker context ls
Este comando exibirá uma tabela mostrando informações sobre cada contexto Docker, incluindo seu nome, descrição, endpoint e se ele é o contexto atual.
Você deve ver uma saída semelhante a esta:
NAME DESCRIPTION DOCKER ENDPOINT KUBERNETES ENDPOINT ORCHESTRATOR
default Current DOCKER_HOST environment unix:///var/run/docker.sock n/a swarm
O contexto default é aquele que é criado automaticamente quando você instala o Docker e aponta para o daemon Docker local.
Listar apenas os nomes dos contextos Docker
Na etapa anterior, você listou todos os contextos Docker com informações detalhadas. Às vezes, você pode precisar apenas ver os nomes dos contextos. Você pode conseguir isso usando a flag --format com o comando docker context ls.
A flag --format permite que você especifique o formato de saída usando o pacote text/template do Go. Para listar apenas os nomes, você pode usar o template {{.Name}}.
Execute o seguinte comando em seu terminal:
docker context ls --format "{{.Name}}"
Este comando exibirá apenas os nomes dos contextos Docker, um nome por linha.
Você deve ver uma saída semelhante a esta:
default
Isso é útil quando você deseja ver rapidamente os nomes dos contextos disponíveis, talvez para scripting ou processamento posterior.
Formatar a saída da lista de contextos Docker como JSON
Além de listar nomes ou o formato de tabela padrão, você também pode formatar a saída de docker context ls como JSON. Isso é particularmente útil quando você precisa processar as informações do contexto programaticamente.
Para formatar a saída como JSON, use a flag --format com o valor json.
Execute o seguinte comando em seu terminal:
docker context ls --format json
Este comando exibirá um array JSON, onde cada elemento no array representa um contexto Docker.
Você deve ver uma saída semelhante a esta:
[
{
"Name": "default",
"Current": true,
"Endpoint": "unix:///var/run/docker.sock",
"Description": "Current DOCKER_HOST environment",
"DockerEndpoint": "unix:///var/run/docker.sock",
"KubernetesEndpoint": "",
"Orchestrator": "swarm"
}
]
A saída JSON fornece uma maneira estruturada de acessar todos os detalhes de cada contexto Docker.
Formatar a saída da lista de contextos Docker usando um template personalizado
Nos passos anteriores, você viu como listar todos os contextos, apenas seus nomes e formatar a saída como JSON. A flag --format é muito poderosa e permite que você defina templates de saída personalizados usando a sintaxe text/template do Go.
Você pode especificar quais campos exibir e como formatá-los. Por exemplo, vamos listar o nome do contexto e sua descrição em um formato personalizado. Os campos disponíveis que você pode usar no template são Name, Description, DockerEndpoint, KubernetesEndpoint e Orchestrator.
Execute o seguinte comando em seu terminal:
docker context ls --format "Context Name: {{.Name}}, Description: {{.Description}}"
Este comando usa um template personalizado para exibir o nome e a descrição de cada contexto.
Você deve ver uma saída semelhante a esta:
Context Name: default, Description: Current DOCKER_HOST environment
Você pode criar templates mais complexos para incluir outros campos ou formatar a saída de maneira diferente, dependendo de suas necessidades. Essa flexibilidade é muito útil para scripting e integração das informações do contexto Docker em outras ferramentas.
Resumo
Neste laboratório, você aprendeu como usar o comando docker context ls para listar contextos Docker. Você começou listando todos os contextos disponíveis com informações detalhadas, incluindo seus nomes, descrições, endpoints e orchestrators. Em seguida, explorou como listar apenas os nomes dos contextos usando a flag --format "{{.Name}}", o que é útil para referência rápida ou scripting. Por fim, você aprendeu como formatar a saída como JSON usando a flag --format json, fornecendo uma saída estruturada adequada para consumo programático.



