加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

替代码头的supervisord

发布时间:2020-12-16 03:27:11 所属栏目:安全 来源:网络整理
导读:即使对于码头工人环境,Supervisord也是非常棒的工具.它对stderr重定向和信号转发有很大帮助.但它有一些缺点: 它不支持延迟启动.在主应用程序初始化之前,延迟某些代理启动可能很有用.优先权无法解决此问题. 如果某个应用程序进入FATAL状态,则supervisord只记

即使对于码头工人环境,Supervisord也是非常棒的工具.它对stderr重定向和信号转发有很大帮助.但它有一些缺点:

>它不支持延迟启动.在主应用程序初始化之前,延迟某些代理启动可能很有用.优先权无法解决此问题.
>如果某个应用程序进入FATAL状态,则supervisord只记录它,但继续工作.因此,在查看容器日志之前,您无法看到它.如果supervisord刚停止,它可能会更友好,因为在这种情况下你会看到docker ps -a的问题

那么supervisord的最佳替代方案是什么?

最佳答案
为了回应“PID1僵尸收割”问题,我之前建议(在“Use of Supervisor in docker”中)使用runit instead of supervisord

Runit uses less memory than Supervisord because Runit is written in C and Supervisord in Python.
And in some use cases,process restarts in the container are preferable over whole-container restarts.

有关更多信息,请参见phusion/baseimage-docker图像.

如Torsten Bronger在the comments所述:

Runit is not there to solve the reaping problem.
Rather,it’s to support multiple processes. Multiple processes are encouraged for security (through process and user isolation).

自2015年起,您现在可以Specify an init process that should be used as the PID 1 in the containe,with docker run --init

The default init process used is the first docker-init executable found in the system path of the Docker daemon process.
This docker-init binary,included in the default installation,is backed by 07006.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读