| Container exits instantly | docker logs <id> (works on dead containers), then docker inspect -f '{{.State.ExitCode}} {{.State.OOMKilled}}' | debug.md |
| Exit code 137 | OOMKilled=true → raise -m or fix the leak; false → external SIGKILL, usually stop-timeout expiry (Rule 4) | debug.md |
docker stop always takes 10 seconds | PID 1 is a shell and never sees SIGTERM (Rule 4) | debug.md |
| Host can't reach container | App must bind 0.0.0.0 inside the container AND the port must be published | networking.md |
| Container can't reach host | host.docker.internal; Linux Engine needs the host-gateway flag | networking.md |
| Containers can't resolve each other | They are on the default bridge — DNS only works on user-defined networks | networking.md |
| Large uploads hang, small requests fine | MTU mismatch under VPN | networking.md |
| Build slow or cache always misses | Layer order (deps before code) + .dockerignore, then cache mounts | images.md |
| Disk filling up | docker system df -v to locate the leak, then targeted prune (→ Disk Leaks) | production.md |
| Code change not appearing | docker compose up -d --build — plain up reuses the stale image | compose.md |
exec format error | CPU architecture mismatch (arm64 image on amd64 host or vice versa) — build with --platform | ci.md |
| Works locally, fails in CI | Architecture, image digest, env vars, bind mounts, filesystem case — in that order | debug.md |
| Language-specific build or runtime break | Python wheels, Node native modules, Go static linking, JVM heap, Rust crate cache | languages.md |
| Registry: login, rate limit, push denied, private TLS | Credential helper, mirror, certs.d, digest promotion | registry.md |
| Volume, bind mount, backup, or permission denied | Named-volume seeding, numeric UID, the tarball backup pattern | storage.md |
| Hot reload, seeded DB, or debugger not attaching | Watch mode, initdb.d only-when-empty, source-path mapping | development.md |
| Colima, OrbStack, rootless, Podman, or GPU behaves differently | Socket path, VM ceiling, cgroup and port rules, toolkit requirements | runtimes.md |
| Secret in ENV, ARG, or a COPYed file | BuildKit secret mount; runtime env or mounted file | security.md |
| Taking it to production, or rolling back | daemon.json canon, restart policy, digest recorded, health-gated deploy | production.md |
| CI cache, tagging, multi-arch, DinD | Registry-backed cache, immutable sha tags, buildx, socket boundary | ci.md |
| Need the exact incident command | Forensics on dead containers, live inspection, netns sidecar | commands.md |
| Anything else Docker | Reproduce with a minimal docker run and zero flags, re-add flags one at a time; the flag that breaks it names the subsystem | — |