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

在runit/daemontools监督下运行docker进程是否合理

发布时间:2020-12-16 03:38:43 所属栏目:安全 来源:网络整理
导读:我一直在运行docker进程(apps) 码头运行 但是在runit监督下(runit就像daemontools) 所以runit确保进程保持运行,传递信号等. 这合理吗? Docker似乎想要运行自己的妖魔化 但它并不像runit那样彻底.此外,当runit重新启动应用程序时 每次都会创建一个新容器(正

我一直在运行docker进程(apps)

码头运行…

但是在runit监督下(runit就像daemontools) – 所以runit确保进程保持运行,传递信号等.

这合理吗? Docker似乎想要运行自己的妖魔化 – 但它并不像runit那样彻底.此外,当runit重新启动应用程序时 – 每次都会创建一个新容器(正常),但它会留下旧容器的痕迹 – 这似乎暗示我正在以错误的方式执行此操作.

docker不应该以这种方式运行吗?

我应该只从图像中设置一个容器,只需一次,然后运行/监督该容器的所有时间吗?

最佳答案
Docker确实对守护程序容器进行了一些管理:如果系统关闭,那么当Docker守护程序启动时,它还将重启系统关闭时运行的所有容器.但是如果容器自行退出或者内核(或用户)在容器运行时杀死容器,则Docker守护程序将不会重新启动容器.如果您确实需要重新启动,则流程管理器是有意义的.

我不知道runit所以我不能给出具体的配置指导.但您应该让进程管理器与docker守护进程通信并检查给定的容器ID是否正在运行(docker ps | grep container_id或等效,或直接使用Docker Remote API).如果容器已停止,请使用Docker重新启动它(docker run container_id),而不是运行新容器.或者,如果您每次都想要一个新容器,那么从docker run -rm开始,在它退出或停止时自动清理它.

如果您不希望流程管理器轮询docker,则可以运行监视docker事件的内容.

您可以在启动容器时获取container_id作为启动守护程序的返回值,或者您可以让Docker将其写入文件(docker run -cidfile myfilename,如PID文件)

我希望能帮助或帮助另一位runit guru提供更详细的建议.

(编辑:李大同)

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

    推荐文章
      热点阅读