Como usar o comando docker context show para exibir o contexto atual

DockerBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá como usar o comando docker context show para exibir o contexto Docker atualmente ativo. Você começará exibindo o contexto padrão, que se conecta ao daemon Docker local.

Em seguida, você criará um novo contexto Docker, alternará para este novo contexto e verificará a alteração usando docker context show. Finalmente, você voltará ao contexto padrão e explorará como integrar o comando docker context show no seu prompt de shell para facilitar a visualização da sua conexão Docker atual.

Exibir o contexto Docker padrão

Nesta etapa, aprenderemos como exibir o contexto Docker padrão. Um contexto Docker é uma maneira de se conectar a diferentes daemons Docker. Por padrão, o Docker usa o contexto default, que se conecta ao daemon Docker em execução na máquina local.

Para exibir o contexto Docker atual, podemos usar o comando docker context show.

docker context show

Você deve ver default como saída, indicando que você está atualmente usando o contexto Docker padrão.

Criar um novo contexto Docker

Nesta etapa, criaremos um novo contexto Docker. Criar um novo contexto permite que você defina parâmetros de conexão para um daemon Docker diferente, que pode estar em uma máquina remota ou em uma configuração local diferente.

Criaremos um contexto chamado my-context que se conecta ao daemon Docker local. Embora isso possa parecer redundante para uma conexão local, ele demonstra o processo de criação de um contexto.

Para criar um novo contexto, usamos o comando docker context create seguido pelo nome do contexto. Também precisamos especificar o endpoint para o daemon Docker usando a flag --docker. Para um daemon local, o endpoint é tipicamente unix:///var/run/docker.sock.

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

Após executar o comando, você deve ver uma saída indicando que o contexto my-context foi criado.

Para verificar se o contexto foi criado, você pode listar todos os contextos disponíveis usando o comando docker context ls.

docker context ls

Você deve ver my-context listado na saída junto com o contexto default.

Alternar para o novo contexto Docker e exibi-lo

Nesta etapa, mudaremos para o novo contexto Docker que criamos na etapa anterior e, em seguida, exibiremos o contexto atualmente ativo para confirmar a mudança.

Para mudar para um contexto Docker diferente, usamos o comando docker context use seguido pelo nome do contexto que queremos usar. Em nosso caso, o nome do contexto é my-context.

docker context use my-context

Você deve ver uma saída confirmando que o contexto foi mudado para my-context.

Agora, vamos exibir o contexto Docker atual novamente usando o comando docker context show para verificar se estamos realmente usando o my-context.

docker context show

A saída deste comando agora deve ser my-context, indicando que a mudança foi bem-sucedida.

Alternar de volta para o contexto padrão e exibi-lo

Nesta etapa, mudaremos de volta para o contexto Docker padrão. Isso é útil quando você esteve trabalhando com um contexto diferente e deseja retornar ao daemon Docker local padrão.

Para mudar de volta para o contexto padrão, usamos o comando docker context use seguido pelo nome do contexto padrão, que é default.

docker context use default

Você deve ver uma saída confirmando que o contexto foi mudado de volta para default.

Agora, vamos exibir o contexto Docker atual novamente usando o comando docker context show para verificar se voltamos a usar o contexto default.

docker context show

A saída deste comando agora deve ser default, confirmando que a mudança foi bem-sucedida.

Integrar docker context show no seu prompt de shell

Nesta etapa, integraremos o comando docker context show no seu prompt do shell. Isso permite que você veja o contexto Docker atual diretamente no seu prompt do terminal, facilitando o acompanhamento de qual daemon Docker você está interagindo.

Modificaremos o arquivo .zshrc no seu diretório home, que é o arquivo de configuração para o shell Zsh. Adicionaremos uma função que obtém o contexto Docker atual e, em seguida, incluiremos a saída dessa função na string do prompt.

Primeiro, abra o arquivo .zshrc usando o editor nano:

nano ~/.zshrc

Role até o final do arquivo e adicione as seguintes linhas:

## Function to get current Docker context
get_docker_context() {
  docker context show 2> /dev/null
}

## Add Docker context to prompt
PROMPT='$(get_docker_context) %~ %## '

Vamos detalhar essas linhas:

  • get_docker_context(): Isso define uma nova função do shell chamada get_docker_context.
  • docker context show 2>/dev/null: Dentro da função, este comando obtém o contexto Docker atual. 2>/dev/null redireciona qualquer saída de erro para /dev/null, impedindo que ela polua o prompt se o Docker não estiver em execução ou houver algum problema.
  • PROMPT='$(get_docker_context) %~ %## ': Esta linha define a variável de ambiente PROMPT, que define a aparência do seu prompt do shell.
    • $(get_docker_context): Isso executa a função get_docker_context e inclui sua saída no prompt.
    • %~: Isso exibe o diretório de trabalho atual, com o diretório home abreviado como ~.
    • %#: Isso exibe um # se você for o usuário root ou um % se você for um usuário normal.

Salve o arquivo pressionando Ctrl + X, depois Y e, em seguida, Enter.

Para aplicar as alterações à sua sessão de terminal atual, você precisa executar o arquivo .zshrc:

source ~/.zshrc

Após executar o arquivo, seu prompt do shell agora deve exibir o contexto Docker atual (que deve ser default) antes do diretório atual.

Você pode testar isso mudando para o my-context novamente:

docker context use my-context

Seu prompt deve atualizar para mostrar my-context seguido pelo seu diretório atual.

Em seguida, mude de volta para o contexto padrão:

docker context use default

Seu prompt deve mudar de volta para mostrar default.

Resumo

Neste laboratório, aprendemos a gerenciar contextos Docker usando o comando docker context show. Começamos exibindo o contexto Docker padrão, que se conecta ao daemon local. Em seguida, criamos um novo contexto chamado my-context, demonstrando o processo de definição de parâmetros de conexão para um daemon diferente, mesmo que seja o mesmo local neste exemplo.

Após a criação, praticamos a mudança para o contexto recém-criado usando docker context use e verificamos o contexto ativo com docker context show. Essa experiência prática solidificou nossa compreensão de como navegar entre diferentes ambientes Docker e confirmar o ponto de conexão atual.