Learn Docker Help

Operaรงรตes com Containers: O Manual do Operador ๐ŸŽฎ

โ•”โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•— โ•‘ CONTAINER LIFECYCLE โ•‘ โ•‘ โ•‘ โ•‘ created โ”€โ”€โ–บ running โ—„โ”€โ”€โ–บ paused โ•‘ โ•‘ โ”‚ โ”‚ โ”‚ โ•‘ โ•‘ โ”‚ โ””โ”€โ”€โ–บ stopped โ—„โ”˜ โ•‘ โ•‘ โ”‚ โ”‚ โ•‘ โ•‘ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–บ removed โ•‘ โ•‘ โ•‘ โ•šโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•

Operações Básicas ๐Ÿ› ๏ธ

Ciclo de Vida

# Criar container docker create --name meu-app nginx # Iniciar container docker start meu-app # Parar container docker stop meu-app # Remover container docker rm meu-app

Execução e Acesso

# Executar novo container docker run -d --name web nginx # Executar comando em container docker exec -it web bash # Visualizar logs docker logs web # Copiar arquivos docker cp arquivo.txt web:/app/

Gerenciamento de Estado ๐Ÿ“Š

Status e Inspeção

# Listar containers docker ps -a # Inspecionar container docker inspect web # Estatรญsticas em tempo real docker stats web # Processos em execuรงรฃo docker top web

Controle de Recursos

# Limitar CPU e memรณria docker run -d \ --cpus=".5" \ --memory="512m" \ --name app \ nginx # Atualizar limites docker update --cpus=".8" app

Network Operations ๐ŸŒ

Conectividade

# Criar rede docker network create minha-rede # Conectar container docker network connect minha-rede web # Desconectar container docker network disconnect minha-rede web # Inspecionar rede docker network inspect minha-rede

Volume Operations ๐Ÿ’พ

Persistência de Dados

# Criar volume docker volume create meus-dados # Montar volume docker run -d \ -v meus-dados:/data \ --name db \ postgres # Listar volumes docker volume ls # Remover volume docker volume rm meus-dados

Troubleshooting Matrix ๐Ÿ”

Problema

Comando

Solução

Container não inicia

docker logs

Verificar logs de erro

Container travado

docker restart

Reiniciar container

Memória alta

docker stats

Ajustar limites

Rede instável

docker network inspect

Verificar conectividade

Batch Operations ๐Ÿš€

Operações em Massa

# Parar todos containers docker stop $(docker ps -q) # Remover containers parados docker container prune # Remover tudo nรฃo usado docker system prune -a # Backup de volumes docker run --rm \ -v volume_name:/source \ -v $(pwd):/backup \ alpine tar czf /backup/volume_backup.tar.gz /source

Health Checks ๐Ÿ’“

Monitoramento de Saúde

# Container com health check docker run -d \ --health-cmd="curl -f http://localhost/ || exit 1" \ --health-interval=5s \ --name web \ nginx # Verificar status docker inspect --format='{{.State.Health.Status}}' web

Waifu Operation Tips ๐Ÿ’ก

Debug Commands ๐Ÿ”ง

Ferramentas de Debug

# Logs em tempo real docker logs -f web # Histรณrico de eventos docker events --filter container=web # Dump de estado docker inspect web > debug.json # Trace de rede docker run --net container:web nicolaka/netshoot

Automation Scripts ๐Ÿค–

Exemplos de Automação

#!/bin/bash # Restart containers mais velhos que 7 dias docker ps -q | xargs docker inspect \ --format='{{.Id}} {{.State.StartedAt}}' | \ awk '{if ($2 <= "'$(date -d'7 days ago' -Ins --utc)'") print $1}' | \ xargs docker restart

Checkpoint โœ…

Você agora sabe:

  • [x] Gerenciar ciclo de vida

  • [x] Controlar recursos

  • [x] Operar redes

  • [x] Gerenciar volumes

  • [x] Debugar problemas

  • [x] Automatizar operações

Próximos Passos ๐ŸŽฏ

  1. Melhores Práticas

  2. Laboratório Prático

  3. Guia de Troubleshooting

15 abril 2025