Docker: Comandos de Produção
Esqueça a configuração manual. Copie e cole os comandos para subir containers, limpar volumes e fazer deploy em tempo recorde.
Seções9
ℹ️ Informações Básicas
8 snippetsUse esta seção quando precisar verificar o status geral do Docker, as versões instaladas ou obter informações detalhadas sobre o sistema Docker e o uso de recursos.
Verificar Versão do Docker
Exibe a versão do cliente Docker instalada no seu sistema, útil para verificar a compatibilidade e o ambiente.
docker --versionInformações Detalhadas do Sistema Docker
Fornece um resumo detalhado das informações do sistema Docker, incluindo o número de containers (rodando, pausados, parados), imagens, volumes, redes, e configurações do daemon.
docker infoInformações Detalhadas do Sistema (Alternativo)
Similar ao `docker info`, este comando pode oferecer uma visão mais específica ou formatada das informações do sistema Docker, dependendo da versão e configuração.
docker system infoUso de Espaço em Disco pelo Docker
Mostra o uso de espaço em disco pelo Docker, detalhando o consumo por imagens, containers, volumes e cache de build, ajudando a identificar onde o espaço está sendo utilizado.
docker system dfVersão do Cliente e Servidor Docker
Exibe as versões do cliente (CLI) e do servidor (daemon) Docker, permitindo verificar a comunicação e a compatibilidade entre eles.
docker versionEventos do Sistema Docker em Tempo Real
Transmite eventos em tempo real do daemon Docker, como criação, início, parada, e destruição de containers, imagens e volumes, útil para monitoramento contínuo.
docker system eventsEventos do Sistema na Última Hora
Exibe eventos do daemon Docker ocorridos na última hora, útil para revisar atividades recentes do sistema e depurar problemas que surgiram recentemente.
docker system events --since 1hLimpar Dados Não Utilizados Mais Antigos que 24h
Remove dados não utilizados pelo Docker que foram criados há mais de 24 horas, como containers parados, imagens sem tag e cache de build, ajudando a liberar espaço de forma seletiva.
docker system prune --filter until=24h📦 Containers
20 snippetsUse esta seção quando estiver gerenciando o ciclo de vida de containers Docker, desde a execução e configuração até a parada, remoção e depuração. Essencial para o deploy e manutenção de aplicações.
Listar Containers em Execução
Lista todos os containers Docker que estão atualmente em execução, mostrando seus IDs, nomes, imagens, comandos, portas mapeadas e status.
docker psListar Todos os Containers (Incluindo Parados)
Lista todos os containers Docker, incluindo aqueles que estão parados ou foram encerrados (`-a` para "all").
docker ps -aListar Apenas IDs de Containers
Lista apenas os IDs dos containers Docker que estão em execução, útil para encadear comandos ou scripts automatizados.
docker ps -qListar Containers com Formato Personalizado
Lista containers em execução com um formato de tabela personalizado, exibindo apenas os nomes, status e portas mapeadas, permitindo uma visualização mais limpa e focada.
docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"Executar Container Mapeando Porta
Executa um novo container a partir da imagem `blueprint-backend` e mapeia a porta `3001` do host para a porta `3001` dentro do container (`-p` para "publish"), permitindo acesso externo ao serviço.
docker run -p 3001:3001 blueprint-backendExecutar Container em Segundo Plano (Detached)
Executa um novo container em modo `detached` (segundo plano, `-d`), atribui o nome `backend` (`--name`) e mapeia a porta `3001` do host para a porta `3001` do container.
docker run -d --name backend -p 3001:3001 blueprint-backendExecutar Container Interativo e Remover ao Sair
Executa um container da imagem `alpine` em modo interativo (`-i`) com um pseudo-TTY (`-t`), executando o comando `sh`. O container será automaticamente removido (`--rm`) ao ser encerrado.
docker run -it --rm alpine shExecutar Container com Variáveis de Ambiente
Executa um container da imagem `app` e define a variável de ambiente `NODE_ENV` como `production` (`-e` para "env"), útil para configurar o comportamento da aplicação dentro do container.
docker run -e NODE_ENV=production appExecutar Container com Volume e Comando Específico
Executa um container da imagem `node`, montando o diretório de trabalho atual do host (`$(pwd)`) como `/app` dentro do container (`-v` para "volume") e definindo `/app` como o diretório de trabalho (`-w`). Em seguida, executa `npm install`.
docker run -v $(pwd):/app -w /app node npm installExecutar Container com Política de Reinício Automático
Executa um container da imagem `app` e configura uma política de reinício automático (`--restart unless-stopped`), garantindo que o container será reiniciado automaticamente a menos que seja explicitamente parado.
docker run --restart unless-stopped appExecutar Container Limitando Memória
Executa um container da imagem `app` e limita a quantidade de memória RAM que ele pode usar a 256 megabytes (`--memory`), útil para controle de recursos.
docker run --memory="256m" appExecutar Container Limitando CPU
Executa um container da imagem `app` e limita o uso da CPU a 0.5 (equivalente a 50% de um núcleo de CPU) (`--cpus`), útil para controle de recursos.
docker run --cpus="0.5" appParar um Container Específico
Envia um sinal SIGTERM para o container especificado, solicitando seu encerramento gracefully. Após um tempo limite, se o container não parar, um SIGKILL é enviado.
docker stop container_nameParar Todos os Containers em Execução
Para todos os containers Docker em execução, utilizando a saída de `docker ps -q` (que lista apenas os IDs dos containers rodando) como argumento para `docker stop`.
docker stop $(docker ps -q)Remover um Container Específico
Remove um container Docker específico. O container deve estar parado antes de ser removido, a menos que a flag `-f` (force) seja usada.
docker rm container_nameRemover Todos os Containers (Rodando e Parados)
Remove todos os containers Docker, tanto os em execução quanto os parados, utilizando a saída de `docker ps -aq` (que lista todos os IDs) como argumento para `docker rm`.
docker rm $(docker ps -aq)Reiniciar um Container
Reinicia um container Docker em execução, parando-o e iniciando-o novamente.
docker restart container_namePausar um Container
Pausa todos os processos dentro de um container em execução, suspendendo-o temporariamente sem encerrá-lo, liberando recursos da CPU mas mantendo a memória.
docker pause container_nameDespausar um Container
Despausa um container que foi previamente pausado, permitindo que seus processos continuem a execução.
docker unpause container_nameForçar Parada de um Container (Kill)
Força a parada imediata de um container Docker enviando um sinal SIGKILL, sem esperar que ele encerre gracefuly. Use com cautela, pois pode resultar em perda de dados.
docker kill container_name🖼️ Imagens
18 snippetsUse esta seção quando estiver criando, gerenciando, listando ou limpando imagens Docker. Essencial para o desenvolvimento e distribuição de aplicações Dockerizadas.
Listar Imagens Docker Locais
Lista todas as imagens Docker armazenadas localmente, mostrando seus repositórios, tags, IDs e tamanhos.
docker imagesListar Todas as Imagens (Incluindo Intermediárias)
Lista todas as imagens Docker, incluindo as camadas intermediárias (`-a` para "all"), que normalmente são ocultas e podem consumir espaço.
docker images -aListar Imagens com Formato Personalizado
Lista imagens Docker com um formato de tabela personalizado, exibindo repositório, tag e tamanho, para uma visualização mais organizada e focada.
docker images --format "table {{.Repository}}\t{{.Tag}}\t{{.Size}}"Build Básico de Imagem Docker
Constrói uma imagem Docker a partir do `Dockerfile` localizado no diretório `./backend` e a taggeia com o nome `blueprint-backend` (`-t` para "tag").
docker build -t blueprint-backend ./backendBuild de Imagem para Frontend
Constrói uma imagem Docker a partir do `Dockerfile` localizado no diretório `./frontend` e a taggeia com o nome `blueprint-frontend`.
docker build -t blueprint-frontend ./frontendBuild de Imagem Sem Cache
Constrói uma imagem Docker a partir do `Dockerfile` no diretório atual, sem utilizar o cache de camadas (`--no-cache`), garantindo que todas as etapas sejam executadas do zero, e a taggeia como `app:latest`.
docker build --no-cache -t app:latest .Build de Imagem Multi-stage com Target Específico
Constrói uma imagem Docker a partir do `Dockerfile` no diretório atual, utilizando um estágio específico de build (`--target production`) definido no Dockerfile multi-stage, e a taggeia como `app:prod`.
docker build --target production -t app:prod .Build de Imagem com Argumentos de Build
Constrói uma imagem Docker a partir do `Dockerfile` no diretório atual, passando um argumento de build (`--build-arg NODE_ENV=production`) que pode ser usado dentro do Dockerfile durante o processo de build, e a taggeia como `app`.
docker build --build-arg NODE_ENV=production -t app .Build de Imagem com Progresso Detalhado
Constrói uma imagem Docker com uma saída de progresso detalhada e sem formatação especial (`--progress=plain`), útil para depuração em ambientes CI/CD ou quando a saída padrão não é um TTY.
docker build --progress=plain -t app .Build de Imagem com Squash de Camadas
Constrói uma imagem Docker e "achata" as camadas resultantes em uma única camada após a imagem base, reduzindo o número de camadas e, potencialmente, o tamanho final da imagem (`--squash`).
docker build --squash -t app .Build de Imagem com Labels (Metadados)
Constrói uma imagem Docker e adiciona um rótulo (label) `version=1.0` (`--label`) à imagem, útil para metadados, organização e filtragem.
docker build --label version=1.0 -t app .Remover uma Imagem Docker
Remove uma imagem Docker específica do armazenamento local. A imagem não pode estar em uso por nenhum container para ser removida.
docker rmi image_nameRemover Todas as Imagens Locais
Remove todas as imagens Docker não utilizadas, utilizando a saída de `docker images -q` (que lista apenas os IDs das imagens) como argumento para `docker rmi`.
docker rmi $(docker images -q)Remover Imagens Órfãs (Dangling Images)
Remove imagens Docker que não estão associadas a nenhum container e não possuem tags (imagens "penduradas" ou "órfãs"), liberando espaço em disco.
docker image pruneRemover Todas as Imagens Não Usadas (Incluindo Camadas Intermediárias)
Remove todas as imagens Docker não utilizadas, incluindo as camadas intermediárias (`-a` para "all"), que não são referenciadas por nenhuma imagem nomeada.
docker image prune -aRenomear/Taggear uma Imagem
Cria uma nova tag (`target:1.0`) para uma imagem existente (`source:latest`), permitindo referenciar a mesma imagem com nomes diferentes ou versões específicas.
docker tag source:latest target:1.0Enviar Imagem para Registro Remoto
Envia uma imagem Docker para um registro remoto (`registry.com/app:latest`), tornando-a disponível para outros usuários ou sistemas.
docker push registry.com/app:latestPuxar Imagem de Registro Remoto
Baixa uma imagem Docker de um registro remoto (`registry.com/app:latest`) para o armazenamento local do seu sistema.
docker pull registry.com/app:latest📊 Logs e Monitoramento
13 snippetsUse esta seção quando precisar depurar, monitorar o desempenho ou analisar problemas em containers Docker através de logs e estatísticas em tempo real.
Ver Logs de um Container
Exibe a saída de log padrão (stdout/stderr) de um container Docker específico, útil para depuração e monitoramento.
docker logs container_nameSeguir Logs de um Container (Follow)
Exibe os logs de um container em tempo real, seguindo novas entradas (`-f` para "follow"), mantendo a conexão aberta e mostrando os logs à medida que são gerados.
docker logs -f container_nameVer Últimas N Linhas de Log
Exibe as últimas 50 linhas de log de um container específico (`--tail`), útil para uma rápida verificação de eventos recentes sem carregar todo o histórico.
docker logs --tail 50 container_nameVer Logs a Partir de um Período
Exibe os logs de um container gerados nas últimas 2 horas (`--since`), permitindo filtrar logs por período de tempo para focar em eventos recentes.
docker logs --since="2h" container_nameVer Logs com Timestamps
Exibe os logs de um container, adicionando um timestamp a cada linha de log (`--timestamps`), o que é útil para análise cronológica e correlação de eventos.
docker logs --timestamps container_nameEstatísticas de Recursos em Tempo Real
Exibe um fluxo em tempo real de estatísticas de uso de recursos (CPU, memória, rede, I/O de disco) para todos os containers em execução, útil para monitoramento de desempenho e identificação de gargalos.
docker statsEstatísticas de Recurso de Container Específico
Exibe estatísticas de uso de recursos em tempo real para um container Docker específico, permitindo focar no desempenho de um único serviço.
docker stats container_nameProcessos em Execução no Container
Exibe os processos em execução dentro de um container Docker específico, similar ao comando `top` do Linux, útil para depuração e verificação de quais processos estão ativos.
docker top container_nameEstatísticas de Recursos Estáticas
Exibe um instantâneo estático das estatísticas de uso de recursos para os containers em execução, sem o fluxo contínuo em tempo real (`--no-stream`), útil para capturas pontuais.
docker stats --no-streamEstatísticas de Recursos Formatadas
Exibe estatísticas de uso de recursos dos containers com um formato de tabela personalizado, mostrando o nome do container e o percentual de uso da CPU, para uma visualização concisa.
docker stats --format "table {{.Container}}\t{{.CPUPerc}}"Eventos Docker em Tempo Real
Transmite eventos em tempo real do daemon Docker, como criação, início, parada, e destruição de containers, imagens e volumes, útil para auditoria e automação.
docker eventsInspecionar Detalhes de um Container
Exibe informações detalhadas de baixo nível sobre um container Docker específico em formato JSON, incluindo configurações de rede, volumes, status, metadados e histórico de eventos.
docker inspect container_nameInspecionar Detalhes de uma Imagem
Exibe informações detalhadas de baixo nível sobre uma imagem Docker específica em formato JSON, incluindo camadas, metadados, configurações de portas e variáveis de ambiente.
docker inspect image_name⚡ Execução e Interação
11 snippetsUse esta seção quando precisar interagir diretamente com containers em execução, executar comandos dentro deles, copiar arquivos entre o host e o container, ou gerenciar mapeamentos de portas e redes.
Acessar Shell Interativo no Container (Bash)
Executa o comando `bash` dentro de um container Docker em execução, alocando um pseudo-TTY (`-t`) e mantendo a entrada padrão aberta (`-i`) para interação, permitindo acesso ao shell do container.
docker exec -it container_name bashAcessar Shell Básico no Container (Sh)
Executa o comando `sh` (shell básico) dentro de um container Docker em execução em modo interativo com pseudo-TTY, útil quando `bash` não está disponível no container.
docker exec -it container_name shExecutar Comando Específico no Container
Executa um comando específico (`ls -la /app`) dentro de um container Docker em execução, sem necessidade de interação com um shell.
docker exec container_name ls -la /appCopiar Arquivo do Host para Container
Copia o arquivo `file.txt` do host para o diretório `/app/` dentro do container especificado (`container_name`).
docker cp file.txt container_name:/app/Copiar Arquivo/Diretório do Container para Host
Copia o diretório `logs` de dentro do container especificado (`container_name:/app/logs`) para o diretório local `./logs` no host.
docker cp container_name:/app/logs ./logsVer Portas Mapeadas de um Container
Exibe os mapeamentos de portas para um container Docker específico, mostrando quais portas do host estão conectadas a quais portas do container.
docker port container_nameMapear Porta Específica ao Executar Container
Executa um container da imagem `nginx` e mapeia a porta `8080` do host para a porta `80` do container (`-p` para "publish"), permitindo acesso ao servidor web.
docker run -p 8080:80 nginxMapear Portas Automaticamente ao Executar Container
Executa um container da imagem `nginx` e mapeia automaticamente todas as portas expostas no `Dockerfile` do container para portas aleatórias e não utilizadas no host (`-P` para "publish all").
docker run -P nginxExecutar Comando como Usuário Root no Container
Executa o comando `bash` dentro de um container em execução como o usuário `root` (`-u`), útil para tarefas administrativas que requerem privilégios elevados.
docker exec -u root container bashExecutar Comando em Segundo Plano no Container
Executa o comando `sleep 60` dentro de um container em execução em modo `detached` (segundo plano, `-d`), sem bloquear o terminal atual.
docker exec -d container sleep 60Executar Comando com Variáveis de Ambiente no Container
Executa um comando (`cmd`) dentro de um container em execução, passando uma variável de ambiente (`--env VAR=value`) que será disponível apenas para a execução desse comando.
docker exec -it container --env VAR=value cmd🧹 Limpeza e Manutenção
12 snippetsUse esta seção quando precisar liberar espaço em disco, remover recursos Docker não utilizados ou limpar o ambiente Docker para manter a eficiência e evitar o acúmulo de dados desnecessários.
Remover Dados Docker Não Usados
Remove todos os dados não utilizados pelo Docker, incluindo containers parados, redes não utilizadas e imagens penduradas, mas não volumes por padrão.
docker system pruneRemover TODOS os Dados Docker Não Usados
Remove todos os dados não utilizados pelo Docker, incluindo containers parados, redes não utilizadas, imagens penduradas e todas as imagens sem tag (`-a` para "all").
docker system prune -aRemover Dados Não Usados Incluindo Volumes
Remove todos os dados não utilizados pelo Docker, incluindo volumes não referenciados por nenhum container (`--volumes`), além de containers parados, redes e imagens penduradas.
docker system prune --volumesRemover Containers Parados
Remove todos os containers Docker que estão parados, liberando recursos e espaço em disco.
docker container pruneRemover Imagens Órfãs
Remove imagens Docker que não estão associadas a nenhum container e não possuem tags (imagens "penduradas" ou "órfãs").
docker image pruneRemover Volumes Não Usados
Remove todos os volumes Docker que não estão sendo utilizados por nenhum container, liberando espaço em disco. Use com cautela para evitar perda de dados.
docker volume pruneRemover Redes Não Usadas
Remove todas as redes Docker que não estão sendo utilizadas por nenhum container, liberando recursos de rede.
docker network pruneVer Uso de Espaço Detalhado
Exibe o uso de espaço em disco pelo Docker de forma detalhada (`-v` para "verbose"), mostrando informações mais granulares sobre o consumo de cada tipo de recurso.
docker system df -vFiltrar Eventos do Sistema Docker
Exibe eventos do daemon Docker, filtrando apenas os eventos relacionados a containers (`--filter type=container`), útil para monitorar atividades específicas.
docker system events --filter type=containerLimpar Cache de Build do Docker
Limpa o cache de build do Docker, removendo camadas intermediárias não utilizadas, o que pode liberar espaço em disco e resolver problemas de build.
docker builder pruneVer Uso de Espaço em Disco
Exibe um resumo do uso de espaço em disco pelo Docker, detalhando o consumo por imagens, containers, volumes e cache de build.
docker system dfVer Tamanho das Imagens Formatado
Lista imagens Docker com um formato de tabela personalizado, exibindo repositório, tag e tamanho, para uma análise rápida do espaço ocupado por imagens.
docker images --format "table {{.Repository}}\t{{.Tag}}\t{{.Size}}"🔧 Docker Compose
84 snippetsUse esta seção quando estiver trabalhando com aplicações multi-container ou ambientes de desenvolvimento que utilizam o Docker Compose para orquestrar serviços. Abrange desde comandos básicos até configurações avançadas e integração com CI/CD. ⚠️ ATENÇÃO: O comando docker system prune -a --volumes removerá TODOS os dados não utilizados, incluindo volumes. Use com extrema cautela!
Verificar Versão do Docker Compose
Exibe a versão do Docker Compose instalada, útil para verificar a compatibilidade e os recursos disponíveis.
docker-compose --versionSubir Serviços (Foreground)
Constrói, (re)cria, inicia e anexa-se aos containers para todos os serviços definidos no arquivo `docker-compose.yml`, executando em primeiro plano e exibindo os logs.
docker-compose upSubir Serviços (Background - Detached)
Constrói, (re)cria, inicia e anexa-se aos containers para todos os serviços definidos no arquivo `docker-compose.yml`, executando em modo `detached` (segundo plano).
docker-compose up -dSubir Serviço Específico
Inicia apenas o serviço `backend` e suas dependências definidas no arquivo `docker-compose.yml`.
docker-compose up backendSubir Serviços Reconstruindo Imagens
Constrói as imagens dos serviços antes de iniciar os containers, garantindo que as imagens estejam atualizadas com as últimas alterações no `Dockerfile`.
docker-compose up --buildSubir Serviços Forçando Recriação
Recria todos os containers, mesmo que não haja alterações na configuração ou imagem, útil para resolver problemas ou aplicar novas configurações.
docker-compose up --force-recreateSubir Serviços Removendo Órfãos
Remove containers de serviços que não estão mais definidos no arquivo `docker-compose.yml` (órfãos) ao iniciar, limpando o ambiente.
docker-compose up --remove-orphansSubir Serviço Sem Dependências
Inicia um serviço específico sem iniciar suas dependências, útil para testar um componente isoladamente.
docker-compose up --no-depsSubir Serviços com Timeout Customizado
Define um tempo limite de 30 segundos para o desligamento graceful dos containers ao parar ou reiniciar os serviços durante o `up`.
docker-compose up --timeout 30Parar e Remover Serviços e Redes
Para e remove os containers, redes e volumes padrão criados por `docker-compose up`.
docker-compose downParar e Remover Serviços, Redes e Volumes
Para e remove os containers, redes e também os volumes nomeados definidos no arquivo `docker-compose.yml` (`-v` para "volumes").
docker-compose down -vApenas Parar Serviços
Para os containers dos serviços definidos no `docker-compose.yml`, mas não os remove, permitindo que sejam reiniciados posteriormente com `docker-compose start`.
docker-compose stopParar Serviço Específico
Para apenas o container do serviço `backend` definido no `docker-compose.yml`.
docker-compose stop backendParar e Remover Serviços e Imagens
Para e remove os containers, redes e também as imagens criadas pelos serviços (`--rmi all`), liberando mais espaço em disco.
docker-compose down --rmi allParar Serviços com Timeout Customizado
Define um tempo limite de 10 segundos para o desligamento graceful dos containers ao parar os serviços com `down`.
docker-compose down --timeout 10Forçar Remoção de Containers
Remove os containers parados sem pedir confirmação (`-f` para "force").
docker-compose rm -fParar e Remover Serviços e Órfãos
Para e remove os containers, redes e também quaisquer containers que não são mais referenciados no arquivo `docker-compose.yml`.
docker-compose down --remove-orphansVer Logs de Todos os Serviços
Exibe a saída de log consolidada de todos os serviços definidos no `docker-compose.yml`.
docker-compose logsSeguir Logs de Todos os Serviços
Exibe a saída de log de todos os serviços em tempo real, seguindo novas entradas (`-f` para "follow"), mantendo a conexão aberta.
docker-compose logs -fVer Logs de Serviço Específico
Exibe a saída de log apenas do serviço `backend`.
docker-compose logs backendAcessar Shell em Container de Serviço
Executa o comando `bash` dentro do container do serviço `backend`, permitindo acesso interativo ao shell do container.
docker-compose exec backend bashExecutar Comando Específico em Container de Serviço
Executa um comando específico (`cargo build`) dentro do container do serviço `backend`.
docker-compose exec backend cargo buildVer Últimas N Linhas de Log de Serviço
Exibe as últimas 50 linhas de log do serviço `backend`.
docker-compose logs --tail 50 backendVer Logs de Serviço a Partir de um Período
Exibe os logs do serviço `backend` gerados na última hora.
docker-compose logs --since="1h" backendExecutar Comando Sem TTY
Executa o comando `ls -la` dentro do container do serviço `backend` sem alocar um pseudo-TTY (`-T`), útil para scripts automatizados ou quando a saída não precisa de formatação interativa.
docker-compose exec -T backend ls -laExecutar Comando como Usuário Específico
Executa o comando `bash` dentro do container do serviço `backend` como o usuário `root` (`-u`), útil para tarefas administrativas que requerem privilégios elevados.
docker-compose exec -u root backend bashConstruir Imagens de Todos os Serviços
Constrói as imagens para todos os serviços que possuem um `build` definido no `docker-compose.yml`.
docker-compose buildConstruir Imagem de Serviço Específico
Constrói a imagem apenas para o serviço `backend`.
docker-compose build backendConstruir Imagens Sem Cache
Constrói as imagens dos serviços sem utilizar o cache de camadas, garantindo um build limpo e do zero, útil para resolver problemas de cache.
docker-compose build --no-cacheEscalar Serviço para Múltiplas Instâncias
Inicia os serviços em modo `detached` e escala o serviço `backend` para 3 instâncias, útil para balanceamento de carga ou testes de desempenho.
docker-compose up -d --scale backend=3Atualizar Imagens de Serviços (Pull)
Baixa as imagens mais recentes para todos os serviços definidos no `docker-compose.yml` de seus respectivos repositórios.
docker-compose pullValidar Configuração do Docker Compose
Valida e exibe a configuração efetiva do `docker-compose.yml` (e arquivos de override), útil para depuração da configuração antes de iniciar os serviços.
docker-compose configVer Status dos Serviços
Lista todos os containers criados pelo Docker Compose, mostrando seu status, portas e nomes, similar ao `docker ps` mas focado nos serviços do Compose.
docker-compose psBuild de Imagens em Paralelo
Constrói as imagens para múltiplos serviços em paralelo, acelerando o processo de build para projetos com muitos serviços.
docker-compose build --parallelBuild de Imagens com Progresso Detalhado
Constrói as imagens com uma saída de progresso detalhada e sem formatação especial, útil para ambientes CI/CD ou logs.
docker-compose build --progress=plainEscalar Múltiplos Serviços
Inicia os serviços e escala múltiplos serviços simultaneamente, por exemplo, `web` para 2 instâncias e `db` para 1 instância, em uma única operação.
docker-compose up --scale web=2 --scale db=1Executar Comando com Variável de Ambiente Inline
Executa um comando one-off em um novo container do serviço `backend`, passando uma variável de ambiente `VAR` com o valor `value` inline.
docker-compose run --env VAR=value backendExecutar Comando com Variáveis de Arquivo .env
Executa um comando one-off em um novo container do serviço `backend`, carregando variáveis de ambiente de um arquivo `.env` específico.
docker-compose run --env-file .env backendVer Nomes dos Serviços Configurados
Exibe apenas os nomes dos serviços definidos na configuração do `docker-compose.yml`, útil para scripts ou automação.
docker-compose config --servicesSubir Serviços com Arquivo .env Específico
Inicia os serviços utilizando variáveis de ambiente definidas em um arquivo `prod.env` específico, sobrescrevendo ou complementando as do `.env` padrão, para diferentes ambientes.
docker-compose --env-file prod.env upVer Variáveis de Ambiente em Novo Container
Executa o comando `env` dentro de um novo container do serviço `backend` e o remove (`--rm`) após a execução, para listar as variáveis de ambiente disponíveis para o serviço.
docker-compose run --rm backend envVer Variáveis de Ambiente em Container em Execução
Executa o comando `printenv` dentro do container *em execução* do serviço `backend` para listar suas variáveis de ambiente.
docker-compose exec backend printenvSubir Serviços com Nome de Projeto Customizado
Inicia os serviços sob um nome de projeto específico (`--project-name projeto`), o que afeta os nomes dos containers, redes e volumes criados, útil para isolar ambientes.
docker-compose --project-name projeto upSubir Serviços com Driver de Volume Específico
Inicia os serviços em modo `detached`, especificando o driver de volume `local` para volumes definidos nos serviços. Geralmente, o driver é configurado diretamente no `docker-compose.yml`.
docker-compose up -d --volume-driver localListar Conteúdo de Volume em Container
Executa o comando `ls /data` dentro do container do serviço `backend` para listar o conteúdo de um volume montado em `/data`.
docker-compose exec backend ls /dataListar Conteúdo de Volume Compartilhado em Novo Container
Executa o comando `ls /shared` em um novo container do serviço `backend` (que é removido após a execução) para listar o conteúdo de um volume compartilhado montado em `/shared`.
docker-compose run --rm backend ls /sharedAdicionar Alias de Rede (Configuração via YAML)
Este comando não adiciona um alias de rede diretamente via `up`. Aliases de rede para serviços são definidos dentro da configuração de rede do serviço no arquivo `docker-compose.yml` para permitir que outros serviços o encontrem por esse nome.
docker-compose up --network-alias webTestar Conectividade entre Serviços
Executa o comando `ping database` dentro do container do serviço `backend` para testar a conectividade de rede com o serviço `database`.
docker-compose exec backend ping databaseRemover Volumes ao Parar Serviços
Para e remove os containers, redes e todos os volumes nomeados definidos no arquivo `docker-compose.yml`.
docker-compose down --volumesListar Volumes do Projeto Docker Compose
Lista todos os volumes Docker e filtra aqueles que contêm o nome do projeto (`projeto`), útil para identificar volumes criados pelo Docker Compose.
docker volume ls | grep projetoListar Redes do Projeto Docker Compose
Lista todas as redes Docker e filtra aquelas que contêm o nome do projeto (`projeto`), útil para identificar redes criadas pelo Docker Compose.
docker network ls | grep projetoSubir Serviço Sem Suas Dependências
Inicia o serviço `backend` sem iniciar suas dependências, útil para isolar e testar um único serviço.
docker-compose up --no-deps backendRecriar Serviço Sem Dependências
Recria os containers de um serviço específico sem iniciar suas dependências, útil para forçar uma recriação sem afetar outros serviços.
docker-compose up --force-recreate --no-depsReiniciar Serviço Específico
Reinicia o container do serviço `backend`.
docker-compose restart backendReiniciar Todos os Serviços
Reinicia todos os containers dos serviços definidos no `docker-compose.yml`.
docker-compose restartPausar Serviço Específico
Pausa o container do serviço `backend`, suspendendo seus processos sem encerrá-lo.
docker-compose pause backendDespausar Serviço Específico
Despausa o container do serviço `backend` que foi previamente pausado.
docker-compose unpause backendMatar Serviço Específico
Força a parada imediata do container do serviço `backend` enviando um sinal SIGKILL, sem esperar um desligamento graceful.
docker-compose kill backendEscalar Serviço para Zero Instâncias
Reduz o número de instâncias do serviço `backend` para zero, efetivamente parando e removendo todos os containers associados a ele.
docker-compose up --scale backend=0Subir Serviços com Arquivo Compose Específico
Inicia os serviços utilizando um arquivo `docker-compose` alternativo (`docker-compose.prod.yml`) em vez do padrão, útil para diferentes ambientes (produção, desenvolvimento).
docker-compose -f docker-compose.prod.yml upSubir Serviços com Múltiplos Arquivos Compose
Inicia os serviços combinando as configurações de múltiplos arquivos `docker-compose`, onde o segundo arquivo (`override.yml`) pode sobrescrever ou estender o primeiro.
docker-compose -f docker-compose.yml -f docker-compose.override.yml upSubir Serviços em Modo de Compatibilidade
Ativa o modo de compatibilidade, que tenta converter opções de `deploy` do Compose para opções de `run` do Docker, útil para compatibilidade com Docker Swarm.
docker-compose --compatibility upSubir Serviços com Output Detalhado (Verbose)
Inicia os serviços e exibe uma saída detalhada (`--verbose`) do que o Docker Compose está fazendo, útil para depuração de problemas de inicialização.
docker-compose --verbose upSubir Serviços Sem Cores (No ANSI)
Inicia os serviços, desabilitando a saída ANSI (cores) no terminal (`--no-ansi`), útil para logs em sistemas que não interpretam códigos de cor ou para logs em arquivos.
docker-compose --no-ansi upSubir Serviços com Perfil Específico
Inicia os serviços que pertencem ao perfil `dev` (`--profile`), permitindo ativar/desativar grupos de serviços com base no ambiente ou propósito.
docker-compose --profile dev upSubir Serviços com Múltiplos Perfis
Inicia os serviços que pertencem aos perfis `dev` E `test`, ativando múltiplos grupos de serviços simultaneamente.
docker-compose --profile dev --profile test upValidar Configuração Resolvendo Variáveis de Ambiente
Valida e exibe a configuração do `docker-compose.yml`, resolvendo e substituindo todas as variáveis de ambiente pelos seus valores atuais, útil para verificar a configuração final.
docker-compose config --resolve-env-varsExecutar Testes Automatizados (CI/CD)
Inicia os serviços definidos em `docker-compose.test.yml` e encerra todos os outros containers se um deles sair (`--abort-on-container-exit`), ideal para ambientes de teste automatizados onde a falha de um teste deve parar tudo.
docker-compose -f docker-compose.test.yml up --abort-on-container-exitAmbiente CI/CD com Build
Inicia os serviços definidos em `docker-compose.ci.yml`, reconstruindo as imagens, para um ambiente de Integração Contínua (CI) garantindo que o ambiente esteja sempre atualizado.
docker-compose -f docker-compose.ci.yml up --buildExecutar Testes Unitários em Container
Executa o comando `npm test` em um novo container do serviço `backend` e o remove (`--rm`) após a execução, ideal para rodar testes unitários ou de integração de forma isolada.
docker-compose run --rm backend npm testExecutar Lint de Código em Container
Executa a ferramenta de lint `flake8` em um novo container do serviço `backend` e o remove (`--rm`) após a execução, para análise estática de código Python.
docker-compose run --rm backend flake8 .Executar Migrações de Banco de Dados
Executa o comando `python manage.py migrate` em um novo container do serviço `backend` e o remove (`--rm`) após a execução, para aplicar migrações de banco de dados em aplicações Django.
docker-compose run --rm backend python manage.py migrateColetar Arquivos Estáticos (Django)
Executa o comando `python manage.py collectstatic` dentro do container em execução do serviço `backend` para coletar arquivos estáticos em aplicações Django.
docker-compose exec backend python manage.py collectstaticReciclar Ambiente Docker Compose
Primeiro, para e remove todos os serviços e suas redes (`down`), e depois os inicia novamente, reconstruindo as imagens (`up --build`), útil para um "reset" completo do ambiente de desenvolvimento.
docker-compose down && docker-compose up --buildVerificar Versão do Docker Compose V2
Exibe a versão do Docker Compose V2, que é integrada ao cliente Docker (o comando `compose` é um subcomando de `docker`).
docker compose versionSubir Serviços (Docker Compose V2)
Inicia os serviços definidos no arquivo `docker-compose.yml` usando a sintaxe da versão V2 do Docker Compose.
docker compose upModo Watch (Docker Compose V2)
Monitora o sistema de arquivos e reinicia ou reconstrói serviços automaticamente quando alterações são detectadas, útil para desenvolvimento local com feedback instantâneo.
docker compose watchConverter para Docker Compose V2 (Alpha)
Tenta converter um arquivo `docker-compose.yml` da versão V1 para a sintaxe da versão V2, útil para migração. (Comando alpha, pode mudar).
docker compose alpha convertConfiguração em JSON (Docker Compose V2)
Valida e exibe a configuração efetiva do `docker-compose.yml` em formato JSON, útil para processamento programático ou integração com outras ferramentas.
docker compose config --format jsonExecutar Comando (Docker Compose V2)
Executa o comando `bash` em um novo container do serviço `backend` (V2) e o remove (`--rm`) após a execução.
docker compose run --rm backend bashEsperar Saúde dos Containers (Docker Compose V2)
Inicia os serviços e espera até que todos os containers estejam saudáveis (healthcheck) antes de considerar o comando completo, útil em scripts de CI/CD para garantir que a aplicação esteja pronta.
docker compose up --waitAnexar Logs de Dependências (Docker Compose V2)
Inicia os serviços e anexa-se aos logs de todos os serviços, incluindo suas dependências, útil para observar o início completo da aplicação e depurar problemas de inicialização entre serviços.
docker compose up --attach dependenciesCopiar Arquivos (Docker Compose V2)
Copia arquivos ou diretórios de dentro do container do serviço `backend` para um diretório local no host, usando a sintaxe V2 do Docker Compose.
docker compose cp backend:/app ./localParar Serviços com Timeout (Docker Compose V2)
Para e remove os serviços com um tempo limite de 30 segundos para o desligamento graceful, usando a sintaxe V2 do Docker Compose.
docker compose down --timeout 30🌐 Redes e Volumes
13 snippetsUse esta seção quando estiver configurando a comunicação entre containers, gerenciando a persistência de dados ou isolando ambientes de rede no Docker.
Listar Redes Docker
Lista todas as redes Docker no sistema, mostrando seus IDs, nomes, drivers e escopos, útil para entender a topologia de rede.
docker network lsInspecionar Rede Docker
Exibe informações detalhadas de baixo nível sobre a rede Docker `bridge` em formato JSON, incluindo containers conectados, configurações de IP e opções.
docker network inspect bridgeCriar Nova Rede Docker
Cria uma nova rede Docker chamada `blueprint-net` usando o driver `bridge`, permitindo que containers conectados a ela se comuniquem facilmente por nome.
docker network create --driver bridge blueprint-netRemover Rede Docker
Remove uma rede Docker específica. A rede deve estar vazia (sem containers conectados) para ser removida.
docker network rm network_nameListar Volumes Docker
Lista todos os volumes Docker armazenados localmente, mostrando seus nomes e drivers, útil para gerenciar a persistência de dados.
docker volume lsInspecionar Volume Docker
Exibe informações detalhadas de baixo nível sobre um volume Docker específico em formato JSON, incluindo seu driver, ponto de montagem e opções.
docker volume inspect volume_nameRemover Volume Docker
Remove um volume Docker específico. O volume não pode estar em uso por nenhum container. Use com cautela para evitar perda de dados.
docker volume rm volume_nameUsar Volume Nomeado em Container
Executa um container da imagem `alpine` e monta um volume nomeado (`nome_volume`) no diretório `/data` dentro do container, garantindo persistência de dados.
docker run -v nome_volume:/data alpineTestar Conexão entre Containers
Executa o comando `ping container2` dentro do `container1` para testar a conectividade de rede entre dois containers na mesma rede Docker.
docker exec -it container1 ping container2Testar Conectividade de API entre Containers
Executa o comando `curl` dentro do container `frontend` para testar a acessibilidade e o status de saúde de uma API no container `backend` na porta `3001`.
docker exec frontend curl http://backend:3001/healthConectar Container a uma Rede
Conecta um container Docker existente a uma rede Docker específica (neste caso, a rede `bridge`), permitindo que ele se comunique com outros containers nessa rede.
docker network connect bridge containerDesconectar Container de uma Rede
Desconecta um container Docker de uma rede específica (neste caso, a rede `bridge`), isolando-o dessa rede.
docker network disconnect bridge containerCriar Volume Nomeado
Cria um novo volume Docker nomeado `data`, que pode ser usado para persistir dados entre containers ou entre o host e containers, independentemente do ciclo de vida do container.
docker volume create --name data🔧 Troubleshooting
14 snippetsUse esta seção quando estiver encontrando problemas com containers, redes, instalação do Docker ou desempenho. Contém comandos para verificar status, diagnosticar problemas comuns e acessar logs do sistema.
Verificar Instalação do Docker
Verifica as versões do cliente e do servidor (daemon) Docker, útil para confirmar se o Docker está instalado e se o daemon está respondendo.
docker versionStatus do Serviço Docker (Linux)
Verifica o status do serviço Docker no Linux usando `systemctl`, mostrando se o daemon está ativo, rodando e quaisquer mensagens de log recentes do sistema.
systemctl status dockerStatus do Serviço Docker (Windows)
Verifica o status do serviço Docker no Windows usando `Get-Service` (PowerShell), mostrando se o serviço está em execução.
Get-Service dockerAdicionar Usuário ao Grupo Docker (Linux)
Adiciona o usuário atual (`$USER`) ao grupo `docker` no Linux, concedendo permissões para executar comandos Docker sem `sudo`. Requer logout/login ou `newgrp docker` para aplicar.
sudo usermod -aG docker $USERAplicar Grupo Docker no Shell Atual
Altera o grupo primário do shell atual para `docker`, aplicando as permissões do grupo sem a necessidade de fazer logout e login novamente. Útil após adicionar o usuário ao grupo docker.
newgrp dockerVer Uso de Espaço em Disco
Exibe um resumo do uso de espaço em disco pelo Docker, detalhando o consumo por imagens, containers, volumes e cache de build, útil para diagnosticar problemas de espaço.
docker system dfLimpar TODOS os Dados Docker Não Usados
Remove todos os dados não utilizados pelo Docker, incluindo containers parados, redes não utilizadas, imagens penduradas e todas as imagens sem tag (`-a` para "all"), liberando o máximo de espaço possível.
docker system prune -aListar Redes Docker
Lista todas as redes Docker no sistema, mostrando seus IDs, nomes, drivers e escopos, útil para diagnosticar problemas de conectividade entre containers.
docker network lsInspecionar Rede Docker
Exibe informações detalhadas de baixo nível sobre a rede Docker `bridge` em formato JSON, incluindo containers conectados e configurações de IP, crucial para depuração de rede.
docker network inspect bridgeLogs do Daemon Docker (Linux)
Exibe os logs do serviço Docker no Linux usando `journalctl`, útil para depurar problemas com o daemon Docker em si, como falhas de inicialização ou erros internos.
journalctl -u docker.serviceLogs do Docker (Windows Event Log)
Exibe os logs de eventos relacionados ao Docker no Windows usando `Get-EventLog` (PowerShell), útil para depurar problemas no sistema operacional ou no serviço Docker.
Get-EventLog -LogName Application -Source DockerListar Contextos Docker
Lista todos os contextos Docker disponíveis, que permitem alternar facilmente entre diferentes hosts Docker (local, remoto, cloud), útil para verificar qual ambiente está sendo alvo dos comandos.
docker context lsMudar Contexto Docker Ativo
Muda o contexto Docker ativo para `my-context`, direcionando os comandos Docker subsequentes para o host ou ambiente definido nesse contexto. Essencial ao trabalhar com múltiplos ambientes Docker.
docker context use my-contextVerificar Assinatura de Confiança de Imagem
Verifica a assinatura de confiança de uma imagem Docker específica, garantindo que a imagem não foi adulterada e vem de uma fonte confiável, importante para segurança.
docker trust inspect image:tagCheatsheets relacionados
Get-LocationPowerShell: Automatize o Chato e Vá para Casa Cedo
A GUI é para amadores. Domine os One-Liners e Pipelines que gerenciam 100 servidores simultaneamente. Pare de clicar em janelas e comece a tratar sua infraestrutura como código. Active Directory, WMI e processos em lote sem dor.
git status -sGit: O Kit de Emergência
Fez besteira no código? Salve este guia. Os comandos essenciais para desfazer erros, reverter commits e salvar seu emprego.
ping -c 4 google.comLinux Networking: O Guia Hacker
Sinta-se no Mr. Robot. Comandos de rede para descobrir IPs, portas abertas e diagnosticar conexões como um profissional de CyberSec.