There are a bunch of resources on the web, etc providing guidance on container usage best practices, especially when it comes to proper signal handling and propagation of signals to child processes (aka those not running as PID 1).
While the suggestions/options are limited -- not to mention that Buildkite agent docker runs are currently employing Docker's built-in container init system and one of the most popular though very simple container init solutions, tini -- it may be worth exploring other solutions for the following benefits:
increased performance of signal receive/response times
custom signal handling (e.g. as an added interfacing option when communicating w/ application/infra k8s operators)
signal rewriting (useful in cases where you have a Docker supervisor [Kubernetes or Mesos] which always send a standard signal)
There are a bunch of resources on the web, etc providing guidance on container usage best practices, especially when it comes to proper signal handling and propagation of signals to child processes (aka those not running as PID 1).
While the suggestions/options are limited -- not to mention that Buildkite agent
docker
runs are currently employing Docker's built-in container init system and one of the most popular though very simple container init solutions, tini -- it may be worth exploring other solutions for the following benefits: