Case: we have a docker container that runs a bash script that needs to "block" forever (because it exposes a volume for another container, but there are other reasons why we sometimes want this).
I thought this could work then:
exec sleep infinity;
ps aux then gives "sleep" as PID 1. Great, I thought, then it will receive signals we send it from outside the container. For example:
docker kill -s INT container_name
But that doesn't work, container keeps running (also for SIGTERM). A normal kill does work, but I don't understand why there's a difference (which annoys me greatly):
docker kill container_name
Why can't I kill "sleep" with SIGINT/SIGTERM when it runs as PID 1 in my container? I believe I can kill other things (like bash scripts) with SIGINT/SIGTERM when they run as PID 1 in a container.
Dockerfile
? – Jonathanjonathon