核心机制
为什么不建议应用直接作为 PID 1
推荐做法
# 让 /bin/sh 作为 PID 1,应用作为子进程
CMD ["/bin/sh", "-c", "nginx -g 'daemon off;'"]
Shell 作为 PID 1:Shell 能正确转发信号、回收子进程 Nginx 例外:Nginx 支持热更新(reload),可直接作为 PID 1;但大多数应用不支持热更新,仍需通过 Shell 启动
# 让 /bin/sh 作为 PID 1,应用作为子进程
CMD ["/bin/sh", "-c", "nginx -g 'daemon off;'"]