This is a question about the zombie reaping problem and identifying the current ‘best’ approach for managing that risk when using docker daemons orchestrated via docker-compose.
My understanding is that it’s still possible for a process to become orphaned when using a Linux base image, the zombie reaping problem as described in https://blog.phusion.nl/2015/01/20/docker-and-the-pid-1-zombie-reaping-problem/
From reading the docker documentation, it seems that Docker now contains support for invoking the Tini init process that performs the needed reaping, enabled when passing the
--initoption to the
docker run command. However this is an explicit option, implying the default does not apply this init process.
Then to create an image that is not exposed to the zombie reaping problem, two candidates parent images (or configuration to duplicate) to choose between are the phusion/baseimage and the Tini image (Tini is contained in docker and is the init process invoked when passing
--init). (github /phusion/baseimage-docker , github /krallin/tini)
Does this train of though make sense, or have I missed something? (such as the Tini process running by default in Docker, so nobody need concern themselves with this problem)
Docker version, as requested by the forum posting guide….
> docker version Client: Version: 18.03.1-ce API version: 1.37 Go version: go1.9.5 Git commit: 9ee9f40 Built: Thu Apr 26 07:13:02 2018 OS/Arch: darwin/amd64 Experimental: false Orchestrator: swarm Server: Engine: Version: 18.03.1-ce API version: 1.37 (minimum version 1.12) Go version: go1.9.5 Git commit: 9ee9f40 Built: Thu Apr 26 07:22:38 2018 OS/Arch: linux/amd64 Experimental: true