Docker / Engine, Containers & Runtime Diagnosis
Investigate a Docker service container that exits with code zero
A successful process exit can be correct for a batch task but wrong for a continuously served application. Check its startup contract.
Environment and inputs: Docker Engine · Compose v2 and Buildx where specified; Linux containers unless noted. Verify daemon context, installed feature support and authorized host or Swarm manager access first.
Start with this check
Confirm the environment and replace sample objects, namespaces, images, paths and hosts with approved targets. Share only relevant, sanitized output. Follow the workload owner’s process for changes.
docker container inspect --format '{{json .Config.Entrypoint}} {{json .Config.Cmd}} {{.State.ExitCode}}' app
Read the result
The arrays and exit code help identify what the container was asked to run. They do not prove business work completed or that a backgrounded child was supervised.
Resolve and verify
Keep the intended long-running process in the correct foreground lifecycle or use an appropriate batch workflow. Validate shutdown and startup behavior in a safe environment.
Before changing production
Do not add an endless sleep solely to make a dead application container appear running.