您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

在docker入口点脚本中使用exec有什么目的?

在docker入口点脚本中使用exec有什么目的?

正如@Peter Lyons所说,使用exec将替换父进程,而不是运行两个进程。

这对于在Docker中正确代理信号很重要。例如,如果Redis是在没有exec的情况下启动的,则它将不会收到SIGTERMon docker stop,也不会有机会彻底关闭。在某些情况下,这可能导致数据丢失或僵尸进程。

如果您确实启动了子进程(即不使用exec),则父进程将负责适当地处理和转发信号。这是在容器中运行多个进程时最好使用supervisor或类似命令的原因之一,因为它将适当地转发信号。

其他 2022/1/1 18:16:50 有568人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶