缘起
平常经常看到github上有人提issue,今天我也提了一个。是一个kafka镜像起来之后存在僵尸进程的问题。https://github.com/wurstmeister/kafka-docker/issues/497
解决方案
作者说需要引入一个dumb-init方案来解决这个场景,我说为啥不用<https://github.com/phusion/baseimage-docker/blob/rel-0.9.16/image/bin/my_init >这个解决方案,作者说The Phusion solution requires Python - which seems like a lot of extra baggage to pull in (100MBs vs < 1Mb)
dumb-init的解决方案
https://github.com/Yelp/dumb-init#why-you-need-an-init-system
一篇很好的文章
https://blog.phusion.nl/2015/01/20/docker-and-the-pid-1-zombie-reaping-problem/
phusion的解决方案
https://github.com/phusion/baseimage-docker/blob/rel-0.9.16/image/bin/my_init
这个是用python来写的,脚本源码在这,我想弄明白他的原理,为什么他能避免这个问题呢?
其实最主要的就是一个正确的init进程。
1 |
|