“Docker Cheatsheet”
Alguns parâmetros frequentes de comandos docker
Este é um resumo rápido do Docker cobrindo os comandos mais importantes e conceitos, desde a instalação até a execução de contêineres e limpeza:

Este guia faz parte do Ferramentas de Desenvolvimento: O Guia Completo para Fluxos de Trabalho Modernos de Desenvolvimento.
Instalação
Para um guia completo sobre a instalação do Docker no Ubuntu — comparando o repositório APT oficial, docker.io, Snap, modo sem privilégios de root (rootless) e configuração do plugin Compose — consulte Instalar Docker no Ubuntu.
Após a instalação, adicione seu usuário ao grupo docker se precisar executar comandos sem sudo:
sudo usermod -aG docker $USER
newgrp docker
docker run hello-world
O guia de instalação também aborda os trade-offs de segurança da associação ao grupo docker e alternativas sem privilégios de root.
Comandos Gerais do Docker
Versão e Informações do Sistema
docker version # Exibe as versões do CLI e do daemon do Docker
docker system info # Lista dados sobre o seu ambiente Docker
docker help # Exibe o índice de ajuda
docker <comando> --help # Exibe informações de ajuda para um comando específico
Login e Logout
docker login # Fazer login no Docker Hub
docker logout # Sair do Docker Hub
Gerenciamento de Imagens
Listar Imagens
docker images # Listar todas as imagens
docker images -a # Listar todas as imagens, incluindo imagens intermediárias
Baixar Imagens
docker pull <nome-da-imagem:versão> # Baixar uma imagem do Docker Hub
Construir Imagens
docker build -t <nome-da-imagem> . # Construir uma imagem a partir do Dockerfile do diretório atual
docker build -f <caminho-do-Dockerfile> -t <nome-da-imagem> . # Construir uma imagem a partir de um Dockerfile específico
docker build --build-arg foo=bar . # Construir uma imagem com argumentos de compilação
docker build --pull . # Baixar versões atualizadas de imagens referenciadas nas instruções FROM
docker build --quiet . # Construir uma imagem sem emitir saída
Marcar e Enviar Imagens
docker tag <nome-da-imagem-local> <usuario>/<nome-preferido-da-imagem>
docker push <usuario>/<nome-preferido-da-imagem>
Remover Imagens
docker rmi <nome-da-imagem> # Remover uma imagem específica
docker image prune # Remover imagens não utilizadas
docker image prune -a # Remover todas as imagens não utilizadas
Remover imagens órfãs (dangling)
docker rmi $(docker images --filter "dangling=true" -q --no-trunc)
Desmarcar imagem
docker rmi repositorio/nome-da-imagem:tag
Gerenciamento de Contêineres
Executar Contêineres
docker run -itd --name <nome-do-contêiner> <nome-da-imagem> # Executar um contêiner em modo detached (em segundo plano)
docker run -it -p <porta-hospedeira>:<porta-docker> <nome-da-imagem> # Executar um contêiner com mapeamento de portas
docker run -it --name <nome-do-contêiner> <nome-da-imagem> # Executar um contêiner interativamente
Listar Contêineres
docker ps # Listar contêineres em execução
docker ps -a # Listar todos os contêineres
docker ps -s # Listar contêineres em execução com uso de CPU e memória
Iniciar, Parar e Reiniciar Contêineres
docker start <nome-do-contêiner> # Iniciar um contêiner parado
docker stop <nome-do-contêiner> # Parar um contêiner em execução
docker restart <nome-do-contêiner> # Reiniciar um contêiner
Remover Contêineres
docker rm <nome-do-contêiner> # Remover um contêiner parado
docker rm -f <nome-do-contêiner> # Remover forçadamente um contêiner
docker stop $(docker ps -a -q) && docker rm $(docker ps -a -q) # Remover todos os contêineres
remover todos os contêineres parados
docker container prune
Anexar a Contêineres
docker attach <nome-do-contêiner> # Anexar a um contêiner em execução
docker exec -it <nome-do-contêiner> bash # Executar um comando em um contêiner em execução interativamente
Inspecionar Contêineres
docker inspect <nome-do-contêiner> # Inspecionar um contêiner
docker logs <nome-do-contêiner> # Exibir os logs de um contêiner
docker port <nome-do-contêiner> # Mostrar os mapeamentos de portas de um contêiner
Gerenciamento de Redes
docker network ls # Listar todas as redes
docker network create <nome-da-rede> # Criar uma nova rede
docker network rm <nome-da-rede> # Remover uma rede
Gerenciamento de Volumes
docker volume ls # Listar todos os volumes
docker volume create <nome-do-volume> # Criar um novo volume
docker volume rm <nome-do-volume> # Remover um volume
docker run -v <caminho-hospedeira>:<caminho-contêiner> <nome-da-imagem> # Montar um volume
Docker Compose
Para pilhas multi-contêiner e comandos diários do Compose, consulte o Resumo Rápido do Docker Compose. Quando um projeto Compose deve iniciar na inicialização e sobreviver a reinicializações em um servidor Linux, Executar Docker Compose como um Serviço Linux com systemd cobre arquivos de unidade e hábitos operacionais.
Comandos Básicos
docker-compose up # Iniciar serviços definidos em docker-compose.yml
docker-compose up -d # Iniciar serviços em modo detached
docker-compose down # Parar e remover serviços
docker-compose ps # Listar serviços em execução
docker-compose logs # Exibir logs dos serviços
docker-compose start # Iniciar serviços
docker-compose stop # Parar serviços
docker-compose pause # Pausar serviços
docker-compose unpause # Retomar serviços
Comandos do Dockerfile
Construir Imagem a partir do Dockerfile
docker build -t <nome-da-imagem> <caminho-do-Dockerfile> # Construir uma imagem a partir de um Dockerfile
Exemplo de Dockerfile
FROM <imagem-base>
RUN <comando>
COPY <origem> <destino>
EXPOSE <porta>
CMD ["<comando>", "<argumento>"]
Segurança e Segredos
Segredos do Docker
docker secret create <nome-do-segredo> <arquivo> # Criar um segredo
docker secret ls # Listar todos os segredos
docker secret rm <nome-do-segredo> # Remover um segredo
Segurança do Docker
- Use segredos do Docker para gerenciar dados sensíveis centralmente e transmiti-los com segurança para os contêineres.
- Os segredos são criptografados durante a transmissão e em repouso em um swarm Docker.
Limpeza
Remover Recursos Não Utilizados
docker system prune # Remover dados não utilizados (imagens, contêineres, redes, volumes)
docker image prune # Remover imagens não utilizadas
docker container prune # Remover contêineres não utilizados
docker network prune # Remover redes não utilizadas
docker volume prune # Remover volumes não utilizados
Remover imagens sem tag
Às vezes, após uma grande compilação bem-sucedida, aparece uma imagem como esta no comando docker images:

para remover essas imagens com tags
o acima é antigo e incompatível. o parâmetro dangling=true é obsoleto. Use
```bash
docker system prune
ele perguntará:
AVISO! Isso irá remover:
- todos os contêineres parados
- todos os volumes não usados por pelo menos um contêiner
- todas as redes não usadas por pelo menos um contêiner
- todas as imagens órfãs (dangling)
Você pode decidir dizer Sim a este aviso…
Este resumo rápido cobre os comandos e conceitos essenciais necessários para gerenciar contêineres, imagens, redes, volumes e muito mais do Docker. Para uma análise mais aprofundada, consulte os guias detalhados e tutoriais disponíveis online.