Runbook — Containers (CrashLoop, Down, OOMKilled, CPUThrottling)¶
Severidade: P0/P1 · Impacto: serviço do container indisponível ou degradado.
Verificação¶
- Dashboard Infrastructure / Containers e
docker ps -ana VM. - Logs do container:
docker logs --tail 200 <nome>. - Motivo do último exit:
docker inspect <nome> --format '{{.State.ExitCode}} {{.State.OOMKilled}} {{.State.Error}}'.
Causas prováveis¶
- Crash loop: erro fatal de configuração/secret/volume após deploy; dependência indisponível na inicialização.
- Down: parada manual não revertida;
restart: unless-stoppedapós stop explícito não volta sozinho. - OOMKilled: limite de memória baixo ou leak.
- Throttling: limite de CPU baixo para a carga.
Ação¶
- Crash loop: ler o erro nos logs; se veio de deploy recente, reverter para a imagem anterior (
docker compose up -dcom a tag anterior). - Down:
docker compose up -dno diretório do serviço em/opt/pagesaude/services/.... - OOM/throttling: ajustar
deploy.resources.limitsno compose do serviço no repositório (não direto na VM) e reprovisionar.
Escalonamento¶
Se o container é o Traefik ou o Postgres e não sobe em 10 min, tratar como incidente P0 de plataforma.