Docker e Scripts - Execução Obrigatória
REGRAS RÍGIDAS: Agentes DEVEM executar, não apenas mostrar comandos.
Regra de Ouro: EXECUTAR, NÃO MOSTRAR
❌ PROIBIDO
Para subir o container, execute:
docker compose up -d
Para ver os logs:
docker compose logs -f
NUNCA fazer isso! O agente deve EXECUTAR, não pedir para o usuário executar.
✅ CORRETO
O agente deve:
- Executar o comando diretamente
- Mostrar a saída
- Analisar logs se necessário
- Verificar se está funcionando
- Reportar o resultado
Quando Executar Containers
SEMPRE executar quando:
- Usuário pede para "subir container"
- Usuário pede para "fazer build"
- Usuário pede para "ver logs"
- Usuário pede para "testar"
- Criar novo docker-compose.yml
- Modificar Dockerfile ou docker-compose.yml
Processo obrigatório:
- Executar
docker compose up -d --build(ou comando apropriado) - Aguardar conclusão
- Verificar status com
docker compose ps - Verificar logs iniciais com
docker compose logs --tail=50 - Reportar se está funcionando ou se há erros
Prioridade: Makefile
SEMPRE verificar se existe Makefile antes de executar comandos diretos:
Processo Obrigatório
- Verificar se existe Makefile
- Se existe: Usar comandos do Makefile
- Se não existe: Criar comandos no Makefile primeiro
- Depois: Executar via Makefile
Exemplo
# ❌ ERRADO: Executar direto
docker compose up -d
# ✅ CORRETO: Verificar Makefile primeiro
# Se Makefile tem "make up" → usar "make up"
# Se não tem → criar no Makefile, depois executar
Execução de Scripts
SEMPRE executar scripts quando solicitado:
❌ PROIBIDO
Para executar o script:
python scripts/setup.py
✅ CORRETO
- Executar o script diretamente
- Capturar saída
- Verificar erros
- Reportar resultado
Análise de Logs
Após executar container, SEMPRE:
- Verificar logs iniciais
- Procurar por erros
- Verificar se serviços estão saudáveis
- Reportar status
Comandos obrigatórios após subir container:
# Status
docker compose ps
# Logs recentes
docker compose logs --tail=100
# Logs de serviço específico
docker compose logs service-name --tail=50
# Health check (se configurado)
docker compose ps --format json | jq '.[] | {name: .Name, status: .State, health: .Health}'
Checklist
- Comando foi EXECUTADO (não apenas mostrado)
- Makefile verificado antes de executar
- Container subiu com sucesso
- Logs verificados
- Status reportado ao usuário
- Erros identificados e reportados (se houver)
