Pular para conteúdo

Docker Compose

Build e Execução

# Na raiz do projeto
cd /opt/monitordnci

# Construir todas as imagens
docker compose build

# Executar migrações de banco (na ordem)
docker compose up -d dnci-dashboard
docker compose exec dnci-dashboard python /app/migrations/run_fase1.py
docker compose exec dnci-dashboard python /app/migrations/run_fase2.py
docker compose exec dnci-dashboard python /app/migrations/run_fase4.py
docker compose exec dnci-dashboard python /app/migrations/run_fase5.py
docker compose exec dnci-dashboard python /app/migrations/run_fase6.py
docker compose exec dnci-dashboard python /app/migrations/run_fase7.py
docker compose exec dnci-dashboard python /app/migrations/run_fase8.py
docker compose exec dnci-dashboard python /app/migrations/run_fase9.py
docker compose exec dnci-dashboard python /app/migrations/run_fase10.py
docker compose exec dnci-dashboard python /app/migrations/run_fase11.py

# Iniciar todos os serviços
docker compose up -d

# Verificar status
docker compose ps

Comandos de Gerenciamento

Ação Comando
Build docker compose build
Build sem cache docker compose build --no-cache
Iniciar docker compose up -d
Parar docker compose down
Reiniciar docker compose restart
Ver logs docker compose logs -f
Ver logs (último 100) docker compose logs --tail=100 -f
Status docker compose ps
Uso de recursos docker stats

Atenção ao Cache

docker compose up --build pode usar cache e NÃO aplicar mudanças em código Python/JS. Sempre usar docker compose build --no-cache quando alterar código-fonte.

Health Checks

# Dashboard
curl http://localhost:5000/api/health

# Resposta esperada
{"status": "healthy"}

Volumes

Volume Container Descrição
./dashboard Dashboard Código-fonte do dashboard
./logs Dashboard, Watchdog Logs persistentes
./.env Dashboard Variáveis de ambiente

Rede

O sistema usa host networking (network_mode: "host") para acessar os bancos de dados que estão na rede interna do servidor.

Uma subnet fixa 10.200.0.0/24 é configurada para evitar conflitos com o DTW em 172.20.52.x.