wiki:docker:guia_comandos_docker
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| wiki:docker:guia_comandos_docker [2026/01/21 22:04] – [4) Use docker system prune para limpeza segura] Wiki Administrator | wiki:docker:guia_comandos_docker [2026/01/22 10:14] (current) – Wiki Administrator | ||
|---|---|---|---|
| Line 3: | Line 3: | ||
| Este guia de referência rápida (Cheat Sheet) compila os comandos Docker mais utilizados, organizados por funcionalidade, | Este guia de referência rápida (Cheat Sheet) compila os comandos Docker mais utilizados, organizados por funcionalidade, | ||
| - | ===== 1. MONITORAMENTO E INFORMAÇÕES DO SISTEMA | + | ===== 1. GERENCIAMENTO DE RECURSOS BÁSICOS ===== |
| + | |||
| + | ==== 1.1. MONITORAMENTO E INFORMAÇÕES DO SISTEMA ==== | ||
| <code bash> | <code bash> | ||
| Line 33: | Line 35: | ||
| </ | </ | ||
| - | ===== 2. GERENCIAMENTO DE CONTAINERS | + | ==== 1.2. GERENCIAMENTO DE CONTAINERS ==== |
| <code bash> | <code bash> | ||
| Line 69: | Line 71: | ||
| </ | </ | ||
| - | ===== 3. GERENCIAMENTO DE IMAGENS | + | ==== 1.3. GERENCIAMENTO DE IMAGENS ==== |
| <code bash> | <code bash> | ||
| Line 104: | Line 106: | ||
| </ | </ | ||
| - | ===== 4. GERENCIAMENTO DE VOLUMES | + | ==== 1.4. GERENCIAMENTO DE VOLUMES ==== |
| <code bash> | <code bash> | ||
| Line 130: | Line 132: | ||
| </ | </ | ||
| - | ===== 5. GERENCIAMENTO DE NETWORKS | + | ==== 1.5. GERENCIAMENTO DE NETWORKS ==== |
| <code bash> | <code bash> | ||
| Line 153: | Line 155: | ||
| </ | </ | ||
| - | ===== 6. LIMPEZA E MANUTENÇÃO | + | ===== 2. LIMPEZA E REMOÇÃO EM LOTE (OTIMIZAÇÃO DE ESPAÇO) |
| + | |||
| + | ==== 2.1. LIMPEZA GERAL E MANUTENÇÃO | ||
| <code bash> | <code bash> | ||
| Line 172: | Line 176: | ||
| docker system df # Exibe um resumo do espaço em disco usado por objetos Docker | docker system df # Exibe um resumo do espaço em disco usado por objetos Docker | ||
| docker system df -v # Exibe o uso de espaço de forma detalhada | docker system df -v # Exibe o uso de espaço de forma detalhada | ||
| + | </ | ||
| - | # Remoção de Containers | + | ==== 2.2. REMOÇÃO EM MASSA (USANDO COMMAND SUBSTITUTION) ==== |
| + | |||
| + | <note warning> | ||
| + | **AVISO DE SEGURANÇA**: | ||
| + | Sempre verifique o que será removido executando apenas a parte interna primeiro. | ||
| + | </ | ||
| + | |||
| + | === Containers | ||
| + | <code bash> | ||
| + | # Remove TODOS os containers (ativos e parados) | ||
| + | docker rm -f $(docker ps -aq) | ||
| + | |||
| + | # Remove containers parados | ||
| docker rm $(docker ps -aq -f status=exited) | docker rm $(docker ps -aq -f status=exited) | ||
| - | # Remove containers | + | # Remove containers |
| - | docker | + | docker |
| </ | </ | ||
| - | ===== 7. LOGS E DEBUG DE CONTAINERS ===== | ||
| + | === Imagens === | ||
| <code bash> | <code bash> | ||
| - | # Visualização de Logs | + | # Remove TODAS as imagens |
| - | docker | + | docker |
| - | docker logs -f < | + | |
| - | docker | + | |
| - | docker logs --since 10m < | + | |
| - | docker logs -t < | + | |
| - | # Logs com Docker Compose | + | # Remove imagens intermediárias/ |
| - | docker-compose logs -f # Segue os logs de todos os serviços definidos no docker-compose.yml | + | docker |
| - | docker-compose logs -f serviço1 serviço2 # Segue os logs de serviços específicos | + | |
| - | # Exportação de Logs | + | # Remove imagens por filtro (ex: nome específico) |
| - | docker | + | docker |
| + | </code> | ||
| - | # Inspeção de Configuração | + | === Redes (Networks) === |
| - | # Filtra e exibe seções importantes da configuração do container | + | <code bash> |
| - | docker | + | # Remove TODAS as redes (exceto bridge, host, none - que são padrão do sistema) |
| + | docker | ||
| + | |||
| + | # Remove redes por filtro (ex: redes não usadas por containers) | ||
| + | docker network rm $(docker network ls -q -f "type=custom") | ||
| </ | </ | ||
| - | ===== 8. DOCKER | + | === Volumes |
| + | <code bash> | ||
| + | # Remove TODOS os volumes | ||
| + | docker volume rm $(docker volume ls -q) | ||
| + | </ | ||
| + | |||
| + | ==== 2.3. COMANDOS COM FILTROS ESPECÍFICOS ==== | ||
| + | |||
| + | <code bash> | ||
| + | # Remover por idade/ | ||
| + | # Containers criados há mais de 24h | ||
| + | docker rm $(docker ps -aq -f " | ||
| + | |||
| + | # Imagens criadas há mais de 30 dias | ||
| + | docker image prune -a --filter " | ||
| + | |||
| + | # Remove containers com status exited há mais de 1 semana | ||
| + | docker container prune --filter " | ||
| + | |||
| + | # Remove volumes não utilizados há mais de 30 dias | ||
| + | docker volume prune --filter " | ||
| + | |||
| + | # Remover por padrão de nome/tag | ||
| + | # Containers com nome começando com " | ||
| + | docker rm -f $(docker ps -aq --filter " | ||
| + | |||
| + | # Imagens com tag " | ||
| + | docker rmi $(docker images | grep " | ||
| + | docker rmi $(docker images | grep " | ||
| + | </ | ||
| + | |||
| + | ==== 2.4. SCRIPTS DE LIMPEZA ==== | ||
| + | |||
| + | === Script: limpeza_total.sh (Limpeza Completa em Etapas) === | ||
| + | <file bash limpeza.sh> | ||
| + | # | ||
| + | # Remove tudo de forma segura (pergunta confirmação) | ||
| + | |||
| + | echo "=== LIMPEZA COMPLETA | ||
| + | echo "1. Parando todos os containers..." | ||
| + | docker stop $(docker ps -q) 2>/ | ||
| + | |||
| + | echo "2. Removendo containers..." | ||
| + | docker rm -f $(docker ps -aq) 2>/ | ||
| + | |||
| + | echo "3. Removendo imagens..." | ||
| + | docker rmi -f $(docker images -aq) 2>/ | ||
| + | |||
| + | echo "4. Removendo volumes..." | ||
| + | docker volume rm $(docker volume ls -q) 2>/ | ||
| + | |||
| + | echo "5. Removendo redes..." | ||
| + | docker network rm $(docker network ls -q | grep -v " | ||
| + | |||
| + | echo "6. Limpando cache builder..." | ||
| + | docker builder prune -f | ||
| + | |||
| + | echo " | ||
| + | </ | ||
| + | |||
| + | === Script: limpeza_segura.sh (Remove Apenas Não Utilizados) === | ||
| + | <file bash limpeza.sh> | ||
| + | # | ||
| + | # Remove apenas recursos não utilizados | ||
| + | |||
| + | echo "=== LIMPEZA SEGURA ===" | ||
| + | docker system prune -a -f --volumes | ||
| + | </ | ||
| + | |||
| + | ===== 3. DICAS AVANÇADAS E DEBUG ===== | ||
| + | |||
| + | ==== 3.1. DOCKER COMPOSE (GERENCIAMENTO MULTI-CONTAINER) | ||
| <code bash> | <code bash> | ||
| Line 233: | Line 321: | ||
| # Rebuild Específico | # Rebuild Específico | ||
| docker-compose build < | docker-compose build < | ||
| + | |||
| + | # Comandos Úteis para Limpeza do Compose | ||
| + | # Remove TODOS os containers, redes e volumes definidos no compose | ||
| + | docker-compose down --rmi all --volumes | ||
| + | |||
| + | # Remove imagens órfãs do compose | ||
| + | docker-compose down --rmi orphan | ||
| + | |||
| + | # Remove tudo (incluindo volumes nomeados) | ||
| + | docker-compose down -v --remove-orphans | ||
| </ | </ | ||
| - | ===== 9. DOCKER BUILDX (Construção Multiplataforma) ===== | + | ==== 3.2. DOCKER BUILDX (CONSTRUÇÃO MULTIPLATAFORMA) ==== |
| <code bash> | <code bash> | ||
| Line 255: | Line 353: | ||
| </ | </ | ||
| - | ===== 10. SEGURANÇA E AUDITORIA | + | ==== 3.3. SEGURANÇA E AUDITORIA ==== |
| <code bash> | <code bash> | ||
| Line 272: | Line 370: | ||
| </ | </ | ||
| - | ===== 11. TAGS E METADADOS | + | ==== 3.4. TAGS E METADADOS ==== |
| <code bash> | <code bash> | ||
| Line 284: | Line 382: | ||
| </ | </ | ||
| - | ===== 12. COMANDOS ÚTEIS PARA SCRIPTS | + | ==== 3.5. COMANDOS ÚTEIS PARA SCRIPTS ==== |
| <code bash> | <code bash> | ||
| Line 308: | Line 406: | ||
| </ | </ | ||
| - | ===== 13. DEBUG E TROUBLESHOOTING DO HOST ===== | + | ==== 3.6. LOGS E DEBUG DE CONTAINERS |
| + | |||
| + | <code bash> | ||
| + | # Visualização de Logs | ||
| + | docker logs < | ||
| + | docker logs -f < | ||
| + | docker logs --tail 50 < | ||
| + | docker logs --since 10m < | ||
| + | docker logs -t < | ||
| + | |||
| + | # Logs com Docker Compose | ||
| + | docker-compose logs -f # Segue os logs de todos os serviços definidos no docker-compose.yml | ||
| + | docker-compose logs -f serviço1 serviço2 # Segue os logs de serviços específicos | ||
| + | |||
| + | # Exportação de Logs | ||
| + | docker logs < | ||
| + | |||
| + | # Inspeção de Configuração | ||
| + | # Filtra e exibe seções importantes da configuração do container (Config, Env, Mounts) | ||
| + | docker inspect < | ||
| + | </ | ||
| + | |||
| + | ==== 3.7. DEBUG E TROUBLESHOOTING DO HOST ==== | ||
| <code bash> | <code bash> | ||
| Line 337: | Line 457: | ||
| </ | </ | ||
| - | ===== ALIASES ÚTEIS (Adicionar ao ~/.bashrc) ===== | + | ==== 3.8. EMERGÊNCIA (QUANDO O DOCKER NÃO RESPONDE) ==== |
| - | + | ||
| - | <code bash> | + | |
| - | alias dps=' | + | |
| - | alias dls=' | + | |
| - | alias dim=' | + | |
| - | alias dvol=' | + | |
| - | alias dnet=' | + | |
| - | alias dlog=' | + | |
| - | alias dexec=' | + | |
| - | alias dstop=' | + | |
| - | alias dstart=' | + | |
| - | alias drm=' | + | |
| - | alias drmi=' | + | |
| - | alias dprune=' | + | |
| - | alias dstat=' | + | |
| - | alias dcup=' | + | |
| - | alias dcdown=' | + | |
| - | alias dclog=' | + | |
| - | </ | + | |
| - | + | ||
| - | ===== COMANDOS AVANÇADOS ===== | + | |
| - | + | ||
| - | <code bash> | + | |
| - | # Build com Cache Externo | + | |
| - | # Usa uma imagem remota como fonte de cache para builds (útil em pipelines CI/CD) | + | |
| - | docker build --cache-from tipo=registry, | + | |
| - | + | ||
| - | # Multi-stage Build Otimizado | + | |
| - | # Constrói a imagem até um estágio específico (ex: ' | + | |
| - | docker build --target desenvolvimento -t nome:dev . | + | |
| - | docker build --target produção -t nome:prod . | + | |
| - | + | ||
| - | # Healthcheck Customizado | + | |
| - | # Define um comando de verificação de saúde que o Docker usará para determinar o status do container | + | |
| - | docker run --health-cmd=" | + | |
| - | + | ||
| - | # Limitação de Recursos | + | |
| - | # Limita a memória e o uso de CPU disponíveis para o container | + | |
| - | docker run --memory=" | + | |
| - | + | ||
| - | # Mapeamento de Portas Avançado | + | |
| - | docker run -p 8080:80 -p 8443:443 < | + | |
| - | docker run -p 0.0.0.0: | + | |
| - | + | ||
| - | # Mounts Temporários (tmpfs) | + | |
| - | # Cria um sistema de arquivos temporário na memória do host para o container | + | |
| - | docker run --tmpfs / | + | |
| - | </ | + | |
| - | + | ||
| - | ===== EMERGÊNCIA (Quando o Docker Não Responde) ===== | + | |
| <code bash> | <code bash> | ||
| Line 408: | Line 478: | ||
| sudo kill -9 $(ps aux | grep docker | grep -v grep | awk ' | sudo kill -9 $(ps aux | grep docker | grep -v grep | awk ' | ||
| </ | </ | ||
| - | ===== FERRAMENTAS COMPLEMENTARES | + | |
| + | ==== 3.9. FERRAMENTAS COMPLEMENTARES ==== | ||
| <code bash> | <code bash> | ||
| Line 428: | Line 499: | ||
| </ | </ | ||
| - | ===== REMOVER TODOS OS OBJETOS | + | ==== 3.10. DOCKER SWARM (OPCIONAL) ==== |
| - | FIXME Aviso de Segurança: Comandos que utilizam | + | <code bash> |
| + | # Remover todos os serviços do Swarm | ||
| + | docker service rm $(docker | ||
| + | # Remover todos os segredos | ||
| + | docker secret rm $(docker secret ls -q) | ||
| - | # AVISO CRÍTICO: Os comandos abaixo removem múltiplos recursos de uma vez. | + | # Remover todas as configurações |
| - | # Recomendação: | + | docker config rm $(docker config ls -q) |
| - | # 2) Verifique a lista 3) Remova manualmente se a lista for pequena | + | </ |
| - | ==== Containers | + | ===== 4. DICAS IMPORTANTES E ALIASES ===== |
| + | ==== 4.1. DICAS IMPORTANTES ==== | ||
| + | |||
| + | 1. **Use com cuidado**: Sempre verifique o que será removido antes: | ||
| <code bash> | <code bash> | ||
| - | # Remove TODOS os containers (ativos e parados) | + | # Primeiro liste, depois remova |
| - | docker | + | docker |
| + | docker volume rm $(docker | ||
| + | </ | ||
| - | # Remove containers parados (Status: Exited) | + | 2. **Preserve volumes importantes**: |
| - | docker rm $(docker ps -aq -f status=exited) | + | <code bash> |
| - | + | # Remove | |
| - | # Remove | + | docker |
| - | docker rm $(docker | + | |
| </ | </ | ||
| - | ==== Imagens ==== | + | 3. **Use prune para limpeza inteligente**: |
| + | <code bash> | ||
| + | # Remove containers parados há mais de 1 semana | ||
| + | docker container prune --filter "until=168h" | ||
| + | |||
| + | # Remove imagens não usadas há mais de 1 mês | ||
| + | docker image prune -a --filter "until=720h" | ||
| + | </ | ||
| + | 4. **Verifique o que será removido (dry-run)**: | ||
| <code bash> | <code bash> | ||
| - | # Remove TODAS as imagens | + | # Containers que seriam removidos |
| - | docker | + | docker |
| - | # Remove imagens intermediárias/ | + | # Imagens que seriam removidas |
| - | docker rmi $(docker images -q -f dangling=true) | + | docker images -q -f dangling=true |
| - | # Remove imagens por filtro | + | # Volumes não utilizados |
| - | docker | + | docker |
| </ | </ | ||
| - | ==== Redes (Networks) ==== | + | ==== 4.2. ALIASES AVANÇADOS |
| <code bash> | <code bash> | ||
| - | # Remove TODAS as redes (exceto bridge, host, none - que são padrão do sistema) | + | # Limpeza completa |
| - | docker network rm $(docker network ls -q) | + | alias docker-nuke=' |
| - | # Remove redes por filtro | + | # Limpeza segura |
| - | docker | + | alias docker-clean=' |
| - | </ | + | |
| - | ==== Volumes ==== | + | # Listar tudo antes de remover |
| + | alias docker-ls-all='echo " | ||
| - | <code bash> | + | # Containers ativos em formato de tabela |
| - | docker | + | alias dps='docker |
| - | </ | + | |
| - | ===== COMANDOS COM FILTROS ESPECÍFICOS ===== | + | # Todos os containers em formato de tabela |
| + | alias dls=' | ||
| + | # Lista de imagens | ||
| + | alias dim=' | ||
| - | ==== Remover por idade/tempo ==== | + | # Lista de volumes |
| + | alias dvol=' | ||
| - | <code bash> | + | # Lista de redes |
| - | # Containers criados há mais de 24h | + | alias dnet='docker |
| - | docker | + | |
| - | # Imagens criadas há mais de 30 dias | + | # Seguir logs de um container |
| - | docker | + | alias dlog='docker |
| + | |||
| + | # Acesso interativo | ||
| + | alias dexec=' | ||
| + | |||
| + | # Parar container | ||
| + | alias dstop=' | ||
| + | |||
| + | # Iniciar container | ||
| + | alias dstart=' | ||
| + | |||
| + | # Remover container | ||
| + | alias drm=' | ||
| + | |||
| + | # Remover imagem | ||
| + | alias drmi=' | ||
| + | |||
| + | # Limpeza completa forçada | ||
| + | alias dprune=' | ||
| + | |||
| + | # Monitoramento de recursos em tempo real | ||
| + | alias dstat=' | ||
| + | |||
| + | # Iniciar compose em background | ||
| + | alias dcup=' | ||
| + | |||
| + | # Parar e remover compose | ||
| + | alias dcdown=' | ||
| + | |||
| + | # Seguir logs do compose | ||
| + | alias dclog=' | ||
| </ | </ | ||
| - | ==== Remover por padrão de nome/ | + | ===== 5. COMANDOS AVANÇADOS (ADICIONAIS) ===== |
| <code bash> | <code bash> | ||
| - | # Containers | + | # Build com Cache Externo |
| - | docker rm -f $(docker | + | # Usa uma imagem remota como fonte de cache para builds |
| + | docker | ||
| - | # Imagens com tag " | + | # Multi-stage Build Otimizado |
| - | docker rmi $(docker images | grep " | + | # Constrói a imagem até um estágio específico |
| - | docker | + | docker |
| - | </ | + | docker build --target produção -t nome:prod . |
| - | ===== COMANDOS DE LIMPEZA EM ETAPAS ===== | + | # Healthcheck Customizado |
| + | # Define um comando de verificação de saúde que o Docker usará para determinar o status do container | ||
| + | docker run --health-cmd="curl -f http:// | ||
| + | # Limitação de Recursos | ||
| + | # Limita a memória e o uso de CPU disponíveis para o container | ||
| + | docker run --memory=" | ||
| - | ==== Script para limpeza completa ==== | + | # Mapeamento de Portas Avançado |
| + | docker run -p 8080:80 -p 8443:443 < | ||
| + | docker run -p 0.0.0.0: | ||
| - | <file bash limpeza.sh> | + | # Mounts Temporários (tmpfs) |
| + | # Cria um sistema de arquivos temporário na memória do host para o container | ||
| + | docker run --tmpfs / | ||
| + | </ | ||
| + | |||
| + | ===== 6. SCRIPTS DE LIMPEZA (Blocos de Arquivo) ===== | ||
| + | |||
| + | === Script de Limpeza Total === | ||
| + | <file bash limpeza_total.sh> | ||
| #!/bin/bash | #!/bin/bash | ||
| # Remove tudo de forma segura (pergunta confirmação) | # Remove tudo de forma segura (pergunta confirmação) | ||
| Line 534: | Line 669: | ||
| </ | </ | ||
| - | ===== Versão segura (remove apenas não utilizados) | + | === Script de Limpeza Segura |
| - | + | <file bash limpeza_segura.sh> | |
| - | <file bash limpeza.sh> | + | |
| #!/bin/bash | #!/bin/bash | ||
| # Remove apenas recursos não utilizados | # Remove apenas recursos não utilizados | ||
| Line 544: | Line 678: | ||
| </ | </ | ||
| - | ===== COMANDOS | + | ===== 7. COMANDOS DOCKER COMPOSE |
| <code bash> | <code bash> | ||
| Line 558: | Line 691: | ||
| </ | </ | ||
| - | ===== DICAS IMPORTANTES ===== | ||
| - | |||
| - | |||
| - | 1. **Use com cuidado**: Sempre verifique o que será removido antes: | ||
| - | |||
| - | <code bash> | ||
| - | # Primeiro liste, depois remova | ||
| - | docker volume ls -q # Veja o que será removido | ||
| - | docker volume rm $(docker volume ls -q) # Agora remova | ||
| - | </ | ||
| - | |||
| - | 2. **Preserve volumes importantes**: | ||
| - | |||
| - | <code bash> | ||
| - | # Remove todos EXCETO os volumes nomeados importantes | ||
| - | docker volume rm $(docker volume ls -q | grep -v " | ||
| - | </ | ||
| - | |||
| - | 3. **Use prune para limpeza inteligente**: | ||
| - | |||
| - | <code bash> | ||
| - | # Remove containers parados há mais de 1 semana | ||
| - | docker container prune --filter " | ||
| - | |||
| - | # Remove imagens não usadas há mais de 1 mês | ||
| - | docker image prune -a --filter " | ||
| - | </ | ||
| - | |||
| - | ===== ALIASES ÚTEIS PARA O .bashrc ===== | ||
| - | |||
| - | <code bash> | ||
| - | # Limpeza completa (pergunta confirmação) | ||
| - | alias docker-nuke=' | ||
| - | |||
| - | # Limpeza segura (apenas não utilizados) | ||
| - | alias docker-clean=' | ||
| - | |||
| - | # Listar tudo antes de remover | ||
| - | alias docker-ls-all=' | ||
| - | </ | ||
wiki/docker/guia_comandos_docker.1769043873.txt.gz · Last modified: by Wiki Administrator
