Conteúdo

Tutorial de comandos Docker: consulte os principais comandos e o que eles fazem

Esta página reúne os comandos Docker mais usados no dia a dia, com base no Docker 29. Para ver detalhes e saídas reais de cada comando, acesse os links dos capítulos. A última seção reúne armadilhas comuns encontradas durante os testes práticos deste tutorial.

Contêineres

ComandoDescrição
docker run -d --name web -p 8080:80 nginx:1.30Executa o contêiner em segundo plano e mapeia a porta
docker run -it --rm ubuntu:26.04 bashExecuta em modo interativo e remove o contêiner ao terminar
docker psLista os contêineres em execução
docker ps -aLista todos os contêineres
docker stop webPara o contêiner
docker start webInicia um contêiner parado
docker restart webReinicia o contêiner
docker rm webRemove um contêiner parado
docker rm -f webRemove à força um contêiner em execução
docker logs -f webAcompanha os logs do contêiner
docker logs --tail 100 webMostra as últimas 100 linhas dos logs
docker exec -it web shAbre um shell dentro do contêiner
docker cp web:/path/file .Copia um arquivo do contêiner para o host
docker inspect webMostra detalhes do contêiner
docker statsMostra o uso de recursos em tempo real
docker top webMostra os processos dentro do contêiner
docker port webMostra o mapeamento de portas
docker update --restart unless-stopped webAltera a política de reinicialização
docker run --init ...Usa um init pequeno como PID 1 para encaminhar corretamente o sinal de parada

Leia também: Opções de docker run, Ciclo de vida do contêiner, Como ver logs e depurar

Imagens

ComandoDescrição
docker imagesLista as imagens locais
docker images --treeMostra as plataformas incluídas nas imagens multiplataforma
docker pull nginx:1.30Baixa uma imagem
docker tag myapp user/myapp:1.0Adiciona um novo nome ou tag
docker push user/myapp:1.0Envia a imagem para um Registry
docker rmi nginx:1.30Remove uma imagem
docker history nginx:1.30Mostra as camadas
docker buildx imagetools inspect nginx:1.30-alpineMostra as plataformas compatíveis com a imagem remota
docker save -o img.tar myappExporta para um arquivo
docker load -i img.tarImporta de um arquivo
docker login / docker logoutEntra / sai do Registry

Leia também: Imagens, Envio para o Docker Hub

Build

ComandoDescrição
docker build -t myapp .Constrói a imagem com o Dockerfile da pasta atual
docker build -f Dockerfile.prod -t myapp .Especifica o Dockerfile
docker build --no-cache -t myapp .Não usa o cache
docker build --pull -t myapp .Baixa novamente a imagem base
docker build --target dev -t myapp:dev .Constrói somente até uma etapa específica
docker build --build-arg VERSION=1.2 .Passa um argumento de build (não use para passar senhas)
docker build --secret id=token,env=TOKEN .Passa um segredo para o build, sem deixá-lo na imagem
docker build --progress plain .Mostra a saída completa do build
docker buildx build --platform linux/amd64,linux/arm64 -t user/app --push .Constrói para várias plataformas e envia a imagem

Leia também: Referência de instruções do Dockerfile, Cache de build e otimização, Builds em várias etapas, Imagens multiplataforma

Volume

ComandoDescrição
docker volume create dataCria um Volume
docker volume lsLista os Volumes
docker volume inspect dataMostra detalhes do Volume
docker volume rm dataRemove um Volume
docker run -v data:/app/data myappMonta um Volume nomeado
docker run -v "$(pwd):/app" myappMonta a pasta atual

Leia também: Volume e persistência de dados

Rede

ComandoDescrição
docker network create appnetCria uma rede personalizada
docker network lsLista as redes
docker network inspect appnetMostra os contêineres na rede
docker run --network appnet --name db postgres:18Conecta o contêiner à rede
docker network connect appnet webConecta um contêiner em execução à rede
docker network rm appnetRemove uma rede

Leia também: Rede e comunicação entre contêineres

Docker Compose

ComandoDescrição
docker compose up -dInicia todos os serviços em segundo plano
docker compose up -d --buildReconstrói as imagens e inicia os serviços
docker compose up -d --waitRetorna quando todos os serviços estiverem healthy
docker compose up -d appAtualiza ou reconstrói somente um serviço
docker compose downPara e remove os contêineres e a rede
docker compose down -vRemove também os Volumes
docker compose psMostra o estado dos serviços
docker compose logs -f appAcompanha os logs de um serviço
docker compose exec app shAbre um shell no contêiner do serviço
docker compose run --rm app npm testExecuta um comando pontual
docker compose pullBaixa as imagens mais recentes
docker compose restart appReinicia o serviço (não aplica configurações alteradas)
docker compose watchSincroniza ou reconstrói automaticamente quando os arquivos mudam (para desenvolvimento)
docker compose --profile tools up -dInicia também os serviços do profile
docker compose configVerifica a configuração final

Leia também: Introdução ao Docker Compose, Comandos do docker compose

Limpeza

ComandoDescrição
docker system dfMostra o uso de espaço
docker container pruneRemove contêineres parados
docker image prune -aRemove imagens não utilizadas
docker builder pruneLimpa o cache de build
docker builder prune --filter until=168hLimpa somente o cache de build sem uso há mais de 7 dias
docker volume pruneRemove Volumes anônimos não utilizados
docker volume prune -aRemove todos os Volumes não utilizados, incluindo dados de bancos de dados em Volumes nomeados
docker system pruneFaz uma limpeza geral (sem incluir Volumes)
docker system prune --volumesFaz uma limpeza geral e remove Volumes anônimos (a partir do Docker 23, não inclui Volumes nomeados)

Leia também: Liberar espaço em disco

Informações do sistema

ComandoDescrição
docker versionMostra as versões do cliente e do servidor
docker infoMostra informações do sistema Docker
docker eventsMostra eventos em tempo real
docker context lsLista os ambientes Docker disponíveis para conexão

Resumo das opções mais usadas

OpçãoSignificado
-dExecutar em segundo plano
-itModo interativo + terminal
-p host:containerMapeamento de portas
-v origem:caminho-no-contêinerMontagem
-e KEY=VALUEVariável de ambiente
--nameNome do contêiner
--rmRemover automaticamente ao terminar
--networkEspecificar a rede
--restartPolítica de reinicialização
-fForçar (rm, rmi) ou acompanhar (logs)

Armadilhas comuns (encontradas nos testes práticos deste tutorial)

SintomaCausa e soluçãoCapítulo
docker stop leva 10 segundosO programa é PID 1 e não trata SIGTERM. Trate o sinal no programa ou adicione --initAplicação Node.js
Ao usar o nome web para o contêiner, a conexão vai para 127.0.53.53.web é um domínio de nível superior, então o nome é resolvido como um domínio externo. Escolha outro nomeOpções de docker run
postgres:18 inicia e encerra imediatamenteA versão 18 precisa montar /var/lib/postgresql, não /var/lib/postgresql/dataPostgreSQL
O banco de dados ainda não está pronto, mas a verificação informa healthyAdicione -h 127.0.0.1 a pg_isready e mysqladmin pingMySQL, PostgreSQL
A verificação de integridade do Redis passa mesmo com a senha erradaEm caso de erro, redis-cli ping ainda termina com código 0. Adicione | grep -q PONGRedis
Alterar MYSQL_ROOT_PASSWORD não faz efeitoA variável de senha só é usada na primeira inicializaçãoMySQL
O arquivo de configuração foi alterado, mas o contêiner ainda mostra a versão antigaAo montar um único arquivo, o editor substitui o arquivo ao salvá-lo. Reinicie o contêiner ou monte a pastaNginx
Os valores de --env-file aparecem com aspasdocker run --env-file não remove as aspas, mas env_file do Compose removeVariáveis de ambiente
Um segredo removido com rm ainda está na imagemCada camada preserva o conteúdo; ARG e ENV também podem ser vistos. Use --secretMelhores práticas de segurança
exec format errorAs arquiteturas de CPU são diferentes. Use --platform ou faça um build multiplataformaImagens multiplataforma

Perguntas frequentes

Como faço para memorizar tantos comandos?

Comece memorizando run, ps, logs, exec, stop, rm, build, compose up/down. Consulte esta página ou docker comando --help quando precisar dos demais.

Onde encontro os parâmetros completos de cada comando?

Veja os parâmetros completos e exemplos dos comandos mais usados na categoria Referência de comandos, como [docker build](/pt/docker/docker-build/) e [docker ps](/pt/docker/docker-ps/).

Atualizado 14 de outubro de 2026