便宜美国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进程吗?所遇到的程序开发问题。
如果觉得本站教程网站内容还不错,欢迎将本站教程推荐给好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。