Introdução
Neste laboratório, você aprenderá como usar o comando docker context export para exportar um contexto Docker. Começaremos criando um novo contexto Docker, que permite conectar sua CLI Docker a diferentes daemons Docker.
Após a criação de um novo contexto, você praticará a exportação desse contexto. Aprenderá como exportar o contexto para um arquivo para uso posterior ou compartilhamento, e também como exportar o contexto diretamente para a saída padrão (STDOUT). Essa experiência prática demonstrará a aplicação prática do comando docker context export para gerenciar e compartilhar seus ambientes Docker.
Criar um novo contexto Docker
Nesta etapa, aprenderemos como criar um novo contexto Docker. Um contexto Docker é uma maneira de conectar sua CLI Docker a um daemon Docker diferente. Isso pode ser útil quando você deseja gerenciar o Docker em uma máquina remota ou em um ambiente diferente.
Por padrão, sua CLI Docker se conecta ao daemon Docker local. Podemos ver o contexto atual usando o comando docker context ls.
docker context ls
Você deve ver uma saída semelhante a esta, indicando que o contexto padrão está ativo:
NAME DESCRIPTION DOCKER ENDPOINT KUBERNETES ENDPOINT ORCHESTRATOR
default * Current DOCKER_HOST environment variable unix:///var/run/docker.sock
Agora, vamos criar um novo contexto. Criaremos um contexto chamado my-context. Para este exemplo, ainda o apontaremos para o daemon Docker local, mas em um cenário real, você o apontaria para um daemon remoto.
Usamos o comando docker context create seguido pelo nome do contexto e pelo endpoint.
docker context create my-context --docker "host=unix:///var/run/docker.sock"
Após criar o contexto, você deve ver uma mensagem de confirmação:
my-context
Successfully created context "my-context"
Agora, vamos listar os contextos novamente para ver o recém-criado.
docker context ls
Você deve agora ver tanto o default quanto o my-context listados.
NAME DESCRIPTION DOCKER ENDPOINT KUBERNETES ENDPOINT ORCHESTRATOR
default * Current DOCKER_HOST environment variable unix:///var/run/docker.sock
my-context unix:///var/run/docker.sock
Para mudar para o novo contexto, usamos o comando docker context use seguido pelo nome do contexto.
docker context use my-context
Você verá uma mensagem confirmando a mudança de contexto:
my-context
Current context is now "my-context"
Finalmente, vamos listar os contextos mais uma vez para confirmar que my-context é agora o contexto ativo, indicado pelo asterisco *.
docker context ls
A saída deve mostrar my-context como o contexto ativo:
NAME DESCRIPTION DOCKER ENDPOINT KUBERNETES ENDPOINT ORCHESTRATOR
default Current DOCKER_HOST environment variable unix:///var/run/docker.sock
my-context * unix:///var/run/docker.sock
Exportar o contexto Docker para um arquivo
Nesta etapa, aprenderemos como exportar um contexto Docker para um arquivo. Exportar um contexto permite que você salve sua configuração em um arquivo, que pode então ser compartilhado ou importado em outra máquina. Isso é particularmente útil para compartilhar o acesso a ambientes Docker remotos.
Exportaremos o my-context que criamos na etapa anterior. Usamos o comando docker context export, seguido pelo nome do contexto e pelo caminho do arquivo de saída desejado. Vamos exportá-lo para um arquivo chamado my-context.dockercontext no diretório ~/project.
docker context export my-context > ~/project/my-context.dockercontext
Este comando exportará a configuração do my-context para o arquivo especificado. Não haverá saída para o console se o comando for bem-sucedido.
Para verificar se o arquivo foi criado, podemos listar os arquivos no diretório ~/project usando o comando ls.
ls ~/project/
Você deve ver my-context.dockercontext listado entre os arquivos.
Também podemos visualizar o conteúdo do arquivo de contexto exportado usando o comando cat.
cat ~/project/my-context.dockercontext
A saída mostrará a configuração do my-context em um formato JSON. Ele conterá informações sobre o contexto, como seu nome e o endpoint Docker.
{
"Name": "my-context",
"Metadata": null,
"Endpoints": {
"docker": {
"Host": "unix:///var/run/docker.sock",
"SkipTLSVerify": false
}
},
"TLSMaterial": null
}
Este arquivo exportado pode agora ser usado para importar este contexto em outra máquina usando o comando docker context import.
Exportar o contexto Docker para STDOUT
Nesta etapa, aprenderemos como exportar um contexto Docker diretamente para a saída padrão (STDOUT). Isso é útil quando você deseja visualizar rapidamente a configuração do contexto ou canalizá-la para outro comando sem salvá-la em um arquivo.
Usaremos novamente o comando docker context export com o my-context que criamos anteriormente. Desta vez, não redirecionaremos a saída para um arquivo.
docker context export my-context
A execução deste comando imprimirá a representação JSON da configuração my-context diretamente no seu terminal.
{
"Name": "my-context",
"Metadata": null,
"Endpoints": {
"docker": {
"Host": "unix:///var/run/docker.sock",
"SkipTLSVerify": false
}
},
"TLSMaterial": null
}
Esta saída é o mesmo conteúdo que foi salvo no arquivo my-context.dockercontext na etapa anterior. Exportar para STDOUT é uma maneira conveniente de inspecionar a configuração do contexto em tempo real.
Você também pode canalizar esta saída para outros comandos para processamento adicional. Por exemplo, você pode canalizá-la para jq para analisar o JSON ou para grep para pesquisar informações específicas.
Por exemplo, para encontrar o endpoint Docker a partir do contexto exportado:
docker context export my-context | grep "unix:///var/run/docker.sock"
Este comando exportará o contexto para STDOUT e, em seguida, usará grep para encontrar a linha contendo "unix:///var/run/docker.sock". A saída será:
"Host": "unix:///var/run/docker.sock",
Isso demonstra como você pode trabalhar facilmente com a configuração do contexto diretamente da linha de comando sem criar arquivos intermediários.
Resumo
Neste laboratório, aprendemos como criar e gerenciar contextos Docker. Começamos entendendo o que é um contexto Docker e como listar os contextos existentes usando docker context ls. Em seguida, criamos um novo contexto chamado my-context usando docker context create, demonstrando como especificar o endpoint Docker. Finalmente, praticamos a alternância entre contextos usando docker context use.
Após a criação e alternância de contextos, exploramos o comando docker context export. Aprendemos como exportar um contexto Docker específico para um arquivo, permitindo o compartilhamento ou backup fácil das configurações do contexto. Além disso, vimos como exportar a configuração do contexto diretamente para a saída padrão, fornecendo flexibilidade para scripting ou uso imediato. Essas etapas forneceram uma compreensão abrangente de como gerenciar e exportar contextos Docker para conectar-se a diferentes daemons Docker.



