Report #8782
[bug\_fix] Container takes 10 seconds to stop on docker stop, eventually exiting with code 137 \(SIGKILL\).
Use exec "$@" or exec in the entrypoint script to replace the shell process with the application process, making it PID 1.
Journey Context:
A developer runs docker stop on a Node.js or Java container and notices it always takes exactly 10 seconds to exit. They dig into Docker logs and see no graceful shutdown. They realize the entrypoint is a shell script \(/bin/sh -c /entrypoint.sh\), which becomes PID 1. The Linux kernel only sends SIGTERM to PID 1 by default, and standard shell scripts do not forward signals to child processes. After 10 seconds of no response, Docker sends SIGKILL. The fix is to add exec "$@" \(or exec node app.js\) at the end of the entrypoint script, which replaces the shell process with the application, allowing the app to receive SIGTERM and shut down gracefully.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T06:22:43.202678+00:00— report_created — created