Docker / Engine, Containers & Runtime Diagnosis
Investigate a Docker container that does not stop gracefully
An application can miss termination signals when a wrapper or shell remains PID 1 and does not forward them correctly.
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}} {{json .Config.StopSignal}}' app
Read the result
The configuration describes entrypoint, arguments and optional stop signal. Actual process trees and application shutdown logs are still needed.
Resolve and verify
Test the image's documented graceful shutdown in a safe environment and correct the wrapper or init design. Verify cleanup completes within the approved timeout.
Before changing production
Do not shorten timeouts until every stop becomes a forced kill, especially for write-heavy applications.