fix(entrypoint): exec memcached so docker stop is graceful
entrypoint.sh ran memcached in the foreground under bash. bash as PID 1 has no SIGTERM handler, so the kernel dropped docker stop's SIGTERM; docker waited the full 10s timeout and SIGKILLed the container (exit 137). exec memcached so it becomes PID 1; it installs its own SIGTERM/SIGINT handlers and exits at once. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
434883782b
commit
597114e2f3
1 file changed
+5
-3
@@ -1,6 +1,8 @@
|
||||
#!/bin/bash
|
||||
echo "Starting Memcached..."
|
||||
sleep 5
|
||||
/usr/bin/memcached -u memcached -l 0.0.0.0
|
||||
|
||||
exit 0
|
||||
# exec so memcached replaces bash as PID 1. bash as PID 1 has no SIGTERM
|
||||
# handler, so the kernel dropped `docker stop`'s SIGTERM and docker SIGKILLed
|
||||
# the container after the full 10s timeout (exit 137). memcached installs its
|
||||
# own SIGTERM/SIGINT handlers, so as PID 1 it shuts down immediately.
|
||||
exec /usr/bin/memcached -u memcached -l 0.0.0.0
|
||||
Reference in new issue
Block a user