欢迎光临
我们一直在努力

我应该在Docker容器中运行init进程吗?

便宜美国vps本站教程收集整理的这篇文章主要介绍了我应该在Docker容器中运行init进程吗?,本站教程本站觉得挺不错的,现在分享给大家,也给大家做个参考。

我最近研究了一些关于Docker的最佳实践,并就如何或是否处理init进程遇到了不同的意见.

正如here所指出的,不应该运行init进程.我可以遵循容器应该模拟单个进程而不是整个操作系统的想法.

另一方面,如here所述,如果我忽略syslog等基本OS服务,可能会出现问题.

通常,如何处理这些案件可能没有绝对的答案.您能否分享一些关于此主题的经验或更多见解?对我而言,两者似乎都是合法的.

@H_616_9@
最佳答案@H_616_9@

发现.这个问题没有绝对的答案.

现在,说了这些,我认为有很大的优势
到每个容器的单进程模型,因为那真的
鼓励您创建可组合的容器(如乐高
块:您可以将它们组合在一起以不同的组合来解决问题
这是可扩展的(你可以启动更多的实例)
没有太多努力的特殊服务).不做疯了
比如你在容器里运行一个ssh守护进程
不鼓励编辑“到位”的东西,并希望 – 有希望
更有可能依靠Dockerfiles来生成你的图像
导致更强大,可重复的过程.

另一方面,有一些应用程序不借出
他们自己很适合这个模型.例如,如果你有
应用程序,分叉许多子进程,并没有正确
wait()对于他们来说,你最终得到了一系列僵尸进程.
您可以运行一个完整的init进程来解决这个问题
问题,或者你可以运行一些简单的like
this(免责声明:我写的那个)or
this.

有些应用程序只是真正紧密耦合,而它是
可以通过自由派在不同的容器中运行它们
应用Docker卷和–net = container:…,它更容易
只是为了让它们在同一个容器中运行.

登录Docker特别具有挑战性.运行某种
容器内的日志收集器和您的应用程序一起可以
这个问题的一个解决方案,但也有其他解决方案.
Logspout是一个有趣的
一,但我一直在看systemd里面运行
容器以便使用journald进行日志记录.所以,同时
我还在为每个容器运行一个应用程序进程
有一个init进程和一个journald进程.

所以,最终,它实际上取决于具体情况:两者都取决于您的需求
以及您尝试运行的特定应用程序的需求.
即使在每个容器没有单个进程的情况下也是如此
可能,设计容器仍然提供单一服务
赋予我在第一段中提到的许多优点.@H_616_9@

本站总结

以上是本站教程为你收集整理的我应该在Docker容器中运行init进程吗?全部内容,希望文章能够帮你解决我应该在Docker容器中运行init进程吗?所遇到的程序开发问题。

如果觉得本站教程网站内容还不错,欢迎将本站教程推荐给好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。