替代码头的supervisord

前端之家收集整理的这篇文章主要介绍了替代码头的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 Brongerthe 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.

原文链接:https://www.f2er.com/docker/436121.html

猜你在找的Docker相关文章