** Things on this page are fragmentary and immature notes/thoughts of the author. Please read with your own judgement! **
Built-in Support
Docker has built-in support for init process (which is based on tini) now.
In short,
you just have to specify the option --init
when you start a container using docker run
.
For more details,
please refer to
Specify an init process
.
Old Approaches
The article Choosing an init process for multi-process containers has very detailed comparisons among different init options. s6 is recommended as thee best init for Docker. The s6-overlay-builder project is a series of init scripts and utilities to ease creating Docker images using s6 as a process supervisor.
References
-
https://docs.docker.com/engine/reference/commandline/run/
-
https://github.com/krallin/tini