| Comando |
O que faz |
docker build -t nome:tag . |
Build no diretório atual |
docker build --pull --no-cache -t nome:tag . |
Ignora cache e atualiza a base |
docker build --target build -t nome:build . |
Para em um estágio do multi-stage |
docker build --build-arg VERSAO=1.2 . |
Passa argumento de build |
docker buildx build --platform linux/amd64,linux/arm64 --push -t nome:tag . |
Multiplataforma |
docker tag nome:tag registry.exemplo.com/nome:tag |
Cria outra referência |
docker push registry.exemplo.com/nome:tag |
Envia para o registry |
docker history nome:tag --no-trunc |
Tamanho por camada |
--cache-from type=registry,ref=registry.exemplo.com/nome:buildcache \
--cache-to type=registry,ref=registry.exemplo.com/nome:buildcache,mode=max \
-t registry.exemplo.com/nome:$SHA --push .
| Comando |
O que faz |
docker run --rm -it nome:tag |
Executa e remove ao sair |
docker run -d --name app -p 8080:80 nome:tag |
Em segundo plano, com porta |
docker run --rm -it --entrypoint sh nome:tag |
Sobrescreve o entrypoint |
docker run --env-file .env nome:tag |
Variáveis de um arquivo |
docker run -v "$PWD":/app -w /app nome:tag |
Monta diretório atual |
docker run --memory=512m --cpus=1 nome:tag |
Limita recursos |
docker run --network host nome:tag |
Usa a rede do host (Linux) |
docker run --user 10001:10001 nome:tag |
Executa como usuário específico |
| Comando |
O que faz |
docker ps -a |
Containers, inclusive parados |
docker logs -f --tail 100 <ct> |
Logs, seguindo |
docker exec -it <ct> sh |
Shell no container em execução |
docker inspect <ct> |
JSON completo |
docker inspect <ct> --format '{{.State.ExitCode}} {{.State.OOMKilled}}' |
Saída e OOM |
docker inspect <ct> --format '{{json .Config.Env}}' | jq |
Variáveis |
docker stats |
Uso de recursos em tempo real |
docker top <ct> |
Processos dentro do container |
docker diff <ct> |
Arquivos alterados desde a imagem |
docker cp <ct>:/caminho ./local |
Copia arquivo para fora |
| Comando |
O que faz |
docker volume ls / inspect <vol> |
Lista e detalha volumes |
docker volume create dados |
Cria volume nomeado |
docker run -v dados:/var/lib/dados nome:tag |
Monta volume nomeado |
docker network ls |
Lista redes |
docker network create minha-rede |
Cria rede bridge |
docker network connect minha-rede <ct> |
Conecta container à rede |
Containers na mesma rede nomeada resolvem uns aos outros pelo nome; na rede bridge
padrão, não.
| Comando |
O que faz |
docker system df |
Onde o espaço está |
docker system prune |
Remove parados, redes órfãs, cache dangling |
docker system prune -a --volumes |
Destrutivo: remove tudo que não está em uso |
docker image prune -a --filter "until=168h" |
Imagens não usadas há 7 dias |
docker builder prune --keep-storage 10GB |
Limita o cache de build |
docker container prune |
Remove containers parados |
--volumes apaga dados. Confirme antes de rodar em máquina de trabalho.
| Comando |
O que faz |
docker login registry.exemplo.com |
Autentica |
docker pull nome@sha256:... |
Baixa por digest (imutável) |
docker buildx imagetools inspect nome:tag |
Manifest e plataformas |
docker manifest inspect nome:tag |
Manifest bruto |
docker save nome:tag | gzip > img.tar.gz |
Exporta imagem |
docker load < img.tar.gz |
Importa imagem |
| Comando |
O que faz |
docker compose up -d |
Sobe os serviços |
docker compose up --build |
Reconstrói antes de subir |
docker compose logs -f <svc> |
Logs de um serviço |
docker compose exec <svc> sh |
Shell no serviço |
docker compose ps |
Estado dos serviços |
docker compose down -v |
Destrutivo: derruba e apaga volumes |
| Código |
Significado |
| 0 |
Terminou normalmente |
| 1 |
Erro da aplicação |
| 125 |
Erro do próprio Docker (flag inválida) |
| 126 |
Comando encontrado, sem permissão de execução |
| 127 |
Comando não encontrado |
| 137 |
SIGKILL — em geral OOM |
| 139 |
Segfault (arquitetura ou libc incompatível) |
| 143 |
SIGTERM |
- Apagar arquivo em uma camada seguinte não reduz a imagem: limpe na mesma instrução.
latest é apenas uma tag comum, sem semântica de “mais recente” garantida.
- Dados em container sem volume somem ao removê-lo.
--network host não funciona igual no Docker Desktop (macOS/Windows).
- Imagem
arm64 em host amd64 dá exec format error.
- Segredo em
ARG fica na imagem; use --mount=type=secret.