No HEALTHCHECK instruction
Part of Architecture & Best Practices, which counts for 15% of the overall score. When this check fires it deducts 4 points from that category, once per scan, no matter how many places it turns up.
What it detects
The Dockerfile defines no HEALTHCHECK, so an orchestrator cannot tell a hung container from a healthy one. Heuristic: base/builder images and short-lived jobs legitimately omit it.
Why it matters
Without a HEALTHCHECK, an orchestrator only knows whether the container process is alive, not whether the app inside it is actually serving. A wedged process that stopped answering requests keeps receiving traffic. This is a heuristic: base images, build stages, and short-lived jobs do not need one.
How to fix it
For long-running services, add a HEALTHCHECK that probes real readiness, for example HEALTHCHECK --interval=30s --timeout=3s CMD curl -fsS http://localhost:PORT/health || exit 1. Keep the probe cheap and specific to your app. Leave it off for one-shot or builder images.
The paid report includes a ready-to-paste prompt for your AI coding agent for every check it finds, pointed at the exact findings from your scan. See pricing
Does your repo trip this check?
Paste a GitHub URL or drop a project folder. Scans run in your browser and take seconds.
Scan your repo