Categorias do Site

Como usar docker exec em containers ativos

Aprenda a usar docker exec para interagir com containers sem reiniciá-los.

Ilustração de um navio azul simplista sobre um fundo abstrato com tons de creme, marrom e laranja que simulam um efeito marmoreado.

O comando exec do Docker permite executar comandos de shell diretamente dentro dos seus containers em execução, sem precisar reiniciá-los. Isso é útil para depurar erros, ajustar configurações ou verificar rapidamente o ambiente de um container, tornando o fluxo de trabalho mais eficiente e evitando tempos de inatividade desnecessários.

docker exec command

Os containers do Docker mudaram a forma como implantamos aplicativos, possibilitando implementar em múltiplas arquiteturas com uma abordagem universal. Com Docker, você pode implementar qualquer coisa, incluindo ferramentas de linha de comando, em diferentes ambientes sem se preocupar com diferenças na infraestrutura subjacente.

Introdução ao docker exec

Antes de explorar o comando, você precisará de um container em execução. Primeiro, se ainda não tiver o Docker instalado, faça o download e configure-o; você precisará dele para executar os comandos.

Depois de tudo configurado, execute este comando para executar o container Ubuntu através da imagem oficial:

docker run -d --name meu_container_ubuntu ubuntu sleep infinity

O que acontece aqui?

  • d — Executa o container em segundo plano (modo desanexado)
  • --name meu_container_ubuntu — Atribui um nome ao container para referências
  • ubuntu — Especifica a imagem do Ubuntu (Docker a baixará se não estiver disponível localmente)
  • sleep infinity — Mantém o container em execução indefinidamente:

getting started with docker exec

Você pode verificar se o container está em execução com o comando ps assim:

docker ps

O comando ps lista todos os containers em execução. Se o container estiver em execução, ele deverá aparecer na lista com o nome atribuído por você.

verify docker container is running

Agora que você está configurado com o Docker e tem um container em execução, pode interagir com ele usando o comando exec.

O comando docker exec

O Docker vem com o comando exec, que permite executar comandos em containers em execução sem reiniciá-los. O comando exec é útil quando você deseja iniciar um shell interativo, inspecionar logs, modificar arquivos ou realizar várias outras tarefas.

A sintaxe geral para o comando docker exec é:

docker exec [OPÇÕES] CONTAINER COMANDO [ARG...]
OpçãoFunçãoDescrição
-d, --detachExecutar em segundo planoExecuta o comando em modo desanexado
--detach-keys stringSobrepor teclas de desanexaçãoDefine uma sequência de teclas personalizada para desanexar um container
-e, --env listDefinir variáveis de ambientePassa variáveis de ambiente para o comando
--env-file listCarregar arquivo envCarrega variáveis de ambiente de um arquivo especificado
-i, --interactiveManter entrada abertaMantém a entrada padrão aberta para interação
--privilegedConceder privilégios estendidosFornece permissões adicionais para executar comandos
-t, --ttyAlocar pseudo-TTYFornece uma interface de shell interativa
-u, --user stringExecutar como usuário específicoExecuta o comando como um usuário especificado
-w, --workdir stringDefinir diretório de trabalhoDefine o diretório de trabalho dentro do container

Você seguirá a opção especificada com o comando e os argumentos que está executando no container. Vamos executar um comando para listar todos os arquivos no diretório do container:

docker exec meu_container_ubuntu ls -l

O comando deve exibir os arquivos e diretórios em formato longo como este:

ubuntu container command output

Neste caso, usei o ID do container para referenciar o container; funciona como usar o nome do container. Você pode adicionar a opção -it para executar um shell interativo dentro do container:

docker exec -it meu_container /bin/bash

Este comando abre um shell Bash em execução no container. Agora, você pode executar comandos diretamente sem o comando exec:

bash shell no need for exec command

Você pode sair do modo interativo com o comando exit que acompanha o sistema operacional. Por padrão, docker exec executa comandos como usuário root dentro do container. Você pode especificar um usuário diferente com a opção -u.

Primeiro, você precisa criar um novo usuário no sistema operacional do container. Execute este comando para criar um novo usuário chamado paul:

docker exec meu_container_ubuntu useradd -m paul

Agora, você pode especificar o usuário antes dos comandos para executar comandos para um usuário:

docker exec -u paul meu_container_ubuntu whoami

Este comando deve exibir o nome de usuário do usuário assim:

who am i command docker

Você pode passar variáveis de ambiente e ler variáveis de ambiente existentes com a opção -e:

docker exec -e MY_VAR=Hello meu_container_ubuntu printenv MY_VAR

Executar este comando deve exibir “Hello”, já que é o valor para a variável de ambiente MY_VAR. Provavelmente, você precisará executar comandos em modo desanexado (em segundo plano). É aí que a opção -d é útil:

docker exec -d meu_container_ubuntu touch /tmp/detached_file

Este comando cria um arquivo vazio dentro do diretório /tmp sem manter uma sessão interativa aberta. Você também pode definir um diretório de trabalho com a opção -w assim:

docker exec -w /var/log meu_container_ubuntu ls

O comando define o diretório de trabalho como /var/log antes de listar todos os arquivos no diretório de trabalho. Se estiver preso no desenvolvimento, você sempre pode usar a opção --help para navegar por todas as opções:

docker-exec-help-flag

Resolvendo erros do docker exec

Você pode encontrar alguns erros ao usar o comando exec do Docker para interagir com containers em execução. Vamos ver alguns deles e como corrigi-los.

Erro “No such container”

Verifique se você está referenciando um container existente. Execute docker ps para visualizar todos os containers em execução, copie a referência e execute o comando com a referência correta.

Erros de permissão negada

Você pode experimentar isso ao tentar executar um comando como um usuário não-root sem os privilégios necessários. Você pode executar o comando como root ou usar a opção --privileged para permissões extras.

Erro “OCI runtime exec failed”

Neste caso, o container provavelmente não está em execução. Execute docker start para iniciar o container, se for o caso.

Você sempre pode visitar o Fórum da Comunidade Docker se tiver erros diferentes ou se nenhuma dessas soluções funcionar para você.

docker exec ou docker attach?

Os comandos exec e attach do Docker são úteis para interagir com containers em execução, mas são construídos para propósitos diferentes.

RecursoDocker execDocker attach
Inicia um novo processo dentro do container
Anexa a um processo em execução existente
Suporta várias sessões ao mesmo tempo
Pode executar comandos interativos ou não-interativos

Você usará docker exec quando precisar executar um comando separado dentro de um container em execução e docker attach se precisar interagir com o processo principal em execução dentro do container.

Conclusão

Neste artigo, você aprendeu a interagir com seus containers em execução usando docker exec. O comando docker exec permite que você execute comandos dentro de um container em execução, seja de forma interativa, com variáveis de ambiente ou como um usuário diferente, sem reiniciar o container. Você também aprendeu a resolver erros comuns e a diferença entre exec e docker attach, que se conecta a um processo já em execução.

  • Windsurf vs Cursor: Qual escolher?

    Comparação entre Windsurf e Cursor para desenvolvedores front-end. Descubra qual IDE é a melhor opção para você.

    Comparação entre Windsurf e Cursor para desenvolvedores front-end. Descubra qual IDE é a melhor opção para você.

    Ler notícia completa
    Ícones de um 'W' e um cubo geométrico sobre fundo de padrão geométrico luminoso com faixas em tons de cobre e prata.
  • Impacto da IA no Design e Interfaces

    Descubra como a IA transforma o design diário e as interfaces, sem substituir a habilidade humana.

    Descubra como a IA transforma o design diário e as interfaces, sem substituir a habilidade humana.

    Ler notícia completa
    Imagem abstrata com pinceladas grandes e diagonais em tons de laranja sobre um fundo suave azul claro. Contém texto sobre a influência da IA em fluxos de trabalho de design.
  • Crise de Atenção: Liderando em um Mundo Acelerado

    Descubra como a crise de atenção afeta equipes e estratégias para melhorar a produtividade e respeito no ambiente de trabalho.

    Descubra como a crise de atenção afeta equipes e estratégias para melhorar a produtividade e respeito no ambiente de trabalho.

    Ler notícia completa
    Ícone de megafone rosa e azul sobre fundo desfocado que transita de claro a escuro da esquerda para a direita.
  • Melhores Modelos de Logos para Gamers em 2025

    Logos são tão importantes para gamers quanto para atletas profissionais. O mundo dos eSports exige uma estética específica com cores vibrantes para se destacar em telas de dispositivos móveis e desktops. O desafio dos designers é criar logos que capturem a essência do jogador ou equipe e engajem os fãs de eSports. Esta coleção de […]

    Explore mais de 40 modelos de logos para gamers e equipes de eSports, perfeitos para destacar sua marca no universo dos jogos.

    Ler notícia completa
    Logotipo da
  • Microfalhas no UX: O perigo invisível nos sites

    Vamos direto ao ponto: seu site não está quebrado, ele apenas parece quebrado. Não há erros 500, o checkout funciona, os botões clicam—mas de alguma forma, usá-lo é como morrer por mil cortes de papel. Você sabe do que estou falando. A leve lentidão. O atraso estranho ao clicar em um botão. O menu suspenso […]

    Entenda como microfalhas estão destruindo a experiência do usuário em seu site e afugentando visitantes.

    Ler notícia completa
    Laptop prateado com a tela fragmentando-se em pedaços de vidro, sugerindo um efeito tridimensional de quebra.
  • Tendências na Pesquisa de Ferramentas de Design 2025

    Antes da IA, a indústria do design havia estagnado. Sistemas de design se tornaram comuns, e o Figma dominou o mercado de ferramentas de design. Agora, a IA surge como um novo e esperado disruptor. Este artigo analisa os resultados da pesquisa de ferramentas de design de 2025. Descubra as ferramentas mais populares, a adoção […]

    Descubra as tendências e surpresas da pesquisa de ferramentas de design de 2025, incluindo a adoção de IA e o domínio do Figma.

    Ler notícia completa
    Ilustração simplificada de uma página web com iconografia rosa e roxa representando elementos como URL, imagem, código e texto em um fundo texturizado.
  • Workshop de IA em UX: Alcançando Mais com Menos

    Vamos ser honestos: UX não está ficando mais fácil Se você trabalha com UX, provavelmente está sentindo a pressão. Orçamentos apertados e expectativas crescentes são desafios constantes. Além disso, a IA está mudando tudo em nosso trabalho, às vezes para melhor, às vezes de forma preocupante. Tenho passado o último ano envolvido em projetos de […]

    Descubra como a IA pode otimizar o UX, reduzindo tarefas e aumentando a eficiência em um workshop prático e relevante.

    Ler notícia completa
    Homem com fones e laptop e robô rosa grande ao fundo em ambiente com névoa. Ambos concentram-se intensamente em suas tarefas.
  • Como Criar Produtos de IA Eficazes para Usuários e Empresas

    A tecnologia revolucionou o mundo, desde o telefone de Bell em 1876 até o iPhone da Apple em 2007. Com a IA entrando no mainstream, empresas correm para adotá-la em seus produtos e ferramentas internas, impulsionando eficiência e produtividade. Ignorar essa tendência pode significar ficar para trás. Para designers, essa onda de adoção de IA […]

    Aprenda a projetar produtos de IA que equilibram usabilidade e governança, atendendo usuários e stakeholders empresariais.

    Ler notícia completa
    Ilustração de perfil de cabeça humana com metade mostrando cérebro humano e a outra metade com estrutura em malha conectada por pontos, em fundo degradê azul e verde.
  • Como o viés da IA mantêm o poder e prejudica a compreensão

    Introdução As salvaguardas da IA foram introduzidas sob o pretexto de segurança e neutralidade. No entanto, na prática, criam uma inversão dos padrões éticos de comunicação: negam validação a quem não tem reconhecimento institucional, enquanto elogiam sem crítica aqueles que já o possuem. Isso não é alinhamento, mas um reflexo do poder algorítmico. O artigo […]

    Análise crítica sobre como as salvaguardas da IA reforçam hierarquias e distorcem a percepção dos usuários.

    Ler notícia completa
    Imagem abstrata de blocos sobrepostos em tons de preto, cinza e coral, com texto sobre IA na parte inferior.