3 ms·
The zombie reaping problem is fixed in Docker. You can simply use `docker run --init` with no argument, and it will spawn a tiny init that will reap children pr
by shykes 9y ago
The zombie reaping problem is fixed in Docker. You can simply use `docker run --init` with no argument, and it will spawn a tiny init that will reap children processes correctly. We don't enable the flag by default to respect backwards compatibility.
- dvdgsng 9y agoSidenote: this Docker native implementation uses Tini (https://github.com/krallin/tini#using-tini https://github.com/krallin/tini#using-tini)
- lobster_johnson 9y agoThis would require Kubernetes to do the same, which I don't think it does?
- shykes 9y agoIt's up to the Kubernetes developers to decide if they want to use that feature of Docker, yes.
- atmosx 9y agoCould you explain a bit further? What does backwards compatibility mean in this context. The API?
- shykes 9y agoIn this context it means preserving the default behavior of running the command specified in the image as PID 1, and not injecting any extra processes in the namespace. The difference in the runtime environment is subtle, but some applications rely on it. If we changed this default those applications would behave differently after upgrading to Docker 1.13 or later.