CodeGym /Cursos /Docker SELF /Conectando ao contêiner em execução

Conectando ao contêiner em execução

Docker SELF
Nível 11 , Lição 4
Disponível

5.1 Fundamentos do comando docker exec

O comando docker exec é uma ferramenta para interagir com containers em execução. Ele permite executar comandos e abrir sessões interativas dentro do container. Isso é útil para tarefas administrativas, debugging e monitoramento. Nesta aula, vamos analisar em detalhes como usar o comando docker exec, quais parâmetros estão disponíveis e trazer exemplos práticos de sua aplicação.

O comando docker exec é usado para executar comandos em um container em execução. Com ele, você pode entrar no container e interagir com ele como se estivesse trabalhando diretamente em um servidor.

Sintaxe


docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

Onde:

  • CONTAINER: o nome ou ID do container no qual você quer acessar.
  • COMMAND: o comando que você quer executar dentro do container.
  • ARG...: argumentos para o comando.

Exemplo básico de uso

Este exemplo executa o comando ls /app dentro do container my_container, permitindo ver o conteúdo do diretório /app no container.

Terminal


docker exec my_container ls /app

5.2 Parâmetros do comando docker exec

O comando docker exec suporta várias opções que permitem configurar o comportamento da execução de comandos dentro do container.

1. Abrindo uma sessão interativa

Pra começar uma sessão interativa, usa a combinação das opções -i (interactive) e -t (pseudo-TTY).

Terminal


docker exec -it my_container /bin/bash 

Nesse exemplo, será aberto um terminal interativo Bash dentro do container my_container. Isso vai te permitir executar comandos em tempo real.

2. Executando comandos em modo desacoplado

Se você precisa executar um comando dentro do container e não quer esperar ele terminar, pode usar a opção -d (detached mode).

Terminal


docker exec -d my_container touch /app/newfile.txt

Nesse exemplo, o comando cria um arquivo vazio newfile.txt no diretório /app do container my_container. O controle do terminal volta imediatamente após a execução do comando, sem esperar ele terminar.

3. Especificando variáveis de ambiente personalizadas

Você pode passar variáveis de ambiente pro container usando o parâmetro -e.

Terminal

docker exec -e MY_VAR=value my_container env

Esse exemplo passa a variável de ambiente MY_VAR pro container e executa o comando env pra mostrar todas as variáveis de ambiente dentro do container.

5.3 Exemplos de uso

Exemplo 1: Visualizar processos em execução dentro do container

Este exemplo executará o comando ps aux dentro do container my_container e mostrará a lista de todos os processos em execução.

Terminal
docker exec my_container ps aux

Exemplo 2: Verificar o status de um serviço no container

Este exemplo executará o comando service nginx status dentro do container my_container e mostrará o status do serviço nginx.

Terminal
docker exec my_container service nginx status

Exemplo 3: Instalar um pacote dentro do container

Este exemplo atualizará a lista de pacotes e instalará o editor vim dentro do container my_container.

Terminal
docker exec my_container apt-get update && apt-get install -y vim

5.4 Cenários práticos

1. Administração de containers

O comando docker exec permite que administradores realizem tarefas de manutenção dentro dos containers: editar arquivos de configuração, verificar logs ou alterar permissões de arquivos.

Terminal
docker exec -it my_container vim /etc/nginx/nginx.conf

2. Depuração de aplicações

Durante o desenvolvimento e teste de aplicações, o comando docker exec ajuda desenvolvedores a verificar o estado da aplicação, realizar depuração e analisar erros.

Terminal
docker exec -it my_container python /app/scripts/debug.py

3. Monitoramento e diagnóstico

Com o docker exec é possível executar comandos de diagnóstico e monitorar o estado do container: verificar o uso de recursos, conexões de rede e outras métricas.

Terminal
docker exec my_container top

Esse comando vai iniciar a ferramenta top dentro do container my_container e mostrar o uso atual de recursos.

5.5 Recomendações Adicionais

1. Garantir segurança

Ao usar o comando docker exec é importante garantir a segurança. Certifique-se de que o acesso aos contêineres está limitado e que apenas usuários autorizados podem executar comandos dentro dos contêineres.

2. Automatizar tarefas

Você pode automatizar tarefas repetitivas usando scripts que utilizam o comando docker exec. Isso permite criar fluxos de trabalho complexos e automatizar a administração de contêineres.

Terminal
#!/bin/bash
for container in $(docker ps -q); do
 docker exec $container uptime
done

Esse script irá executar o comando uptime em todos os contêineres em execução e mostrar o tempo de funcionamento deles.

3. Logs e debugging

Às vezes, a execução de um comando pode falhar. Nesses casos, é útil verificar os logs do contêiner para identificar o motivo.

Terminal
docker logs my_container
1
Опрос
Criando o primeiro container,  11 уровень,  4 лекция
недоступен
Criando o primeiro container
Criando o primeiro container
Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION