“Docker Cheatsheet”

Alguns parâmetros frequentes de comandos docker

Conteúdo da página

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:

logotipo do docker

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:

muitas imagens sem tag

para remover essas imagens com tags :```bash docker rmi $(docker images –filter “dangling=true” -q –no-trunc)


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.

Assinar

Receba novos artigos sobre sistemas, infraestrutura e engenharia de IA.