我目前在Dockerfile中使用ENTRYPOINT ["/sbs/start.sh"].因此,当容器启动时,start.sh作为pid 1运行,而我的start.sh脚本将另外两个子进程跨越到pid1.我的问题是当我向pid1发送docker stop命令时,docker如何处理子进程?孩子的过程会被优雅地停止吗?还是会被强行杀死?
在我们有子进程的情况下,有一个简单的进程管理器和init系统(https://github.com/Yelp/dumb-init或supervisor)来解决这些问题会更好吗?如果是这样,请建议一个轻量级的init系统?或者可以pid1(在我的情况下start.sh)处理这些问题?
输出ps -ef:
root 1 0 0 19:23 ? 00:00:00 /bin/bash /sbs/start.sh
root 13 1 0 19:23 ? 00:00:00 /sbs/bin/envconsul...
root 20 13 1 19:23 ? 00:00:21 /usr/lib/...
Run Code Online (Sandbox Code Playgroud)
任何帮助表示赞赏.