systems // DockerLAB
Docker Compose Healthcheck — Diferenciar “Subiu” de “Está Pronto”
Exponha readiness do serviço em vez de assumir que container iniciado significa aplicação utilizável.
dockercomposehealthcheckoperations
Trust & provenanceLAB
Nível de evidênciaLABFontes oficiais0Outras fontes1Última verificação2026-10-05
O nível de evidência descreve minha experiência com o conteúdo. Fonte oficial descreve contrato/documentação da plataforma. Observação de produção não deve ser tratada automaticamente como limite oficial.
Um serviço depende de endpoint HTTP/banco realmente pronto antes de trabalho downstream.
services:
app:
image: your-image:latest
healthcheck:
test: ["CMD", "curl", "-fsS", "http://localhost:8080/health"]
interval: 30s
timeout: 5s
retries: 3
start_period: 20sEstado do container e readiness da aplicação são sinais diferentes. O healthcheck torna isso observável.
Mantenha o health endpoint barato e determinístico.
Não coloque lógica destrutiva de reparo dentro do healthcheck.