当前位置: 首页 > 面试题库 >

我应该在(Docker)容器中使用forever / pm2吗?

淳于功
2023-03-14
问题内容

我正在重构几个node.js服务。所有这些以前都是forever在虚拟服务器上开始的,如果进程崩溃,它们只会重新启动。

现在,转向容器化和无状态的应用程序结构,我认为该过程应该退出,并且应该在发生故障时重新启动容器。

那是对的吗?有好处还是不利?


问题答案:

我的想法是不要使用容器内进程管理器(永远是pm2),而是通过--restart=always(或该选项的其他一种方式)使用docker
restart策略。这与整个docker理念更加一致,并且应该与容器内过程监控非常相似,因为docker容器开始非常快速地运行。

如果您想探索关于此主题的其他立场,我所见过的运行容器内过程监督的最强有力的倡导者是phusion baseimage-docker
README



 类似资料:
  • 我是否需要为我的复杂Web应用程序使用单独的Docker容器,或者我可以将所有必需的服务放在一个容器中?有人能解释一下为什么我应该将我的应用程序划分为许多容器(例如容器,容器,容器)当我能够在一个容器中安装和启动所有东西时?

  • Docker教程经常说我可以运行更多容器,以提高我的webapp的可用性。然而,这是一个非常宽泛的声明,并没有解释在不同的情况下应该运行多少个容器。我如何知道我是否需要1、5、10、100或1000个容器实例? 示例-我只有一台服务器,正在使用docker运行nginx和php fpm。每个容器一个。有了这个简单的设置,我的webapp就可以正常工作,而且看起来很灵敏。(在同一台服务器上)增加额外

  • 我正试图使用PM2在Docker容器中启动2个nodejs应用程序,所以我制作了一个带有所有项目配置的定制Dockerfile 我用这个配置启动这个容器 当所有的容器都设置好后,我在终端中得到PM2进程列表,然后docker compose启动所有的容器,但我发现一个节点立即失败 Nodejs退出代码0 我的nodejs应用程序正在我的容器内工作,但这一个立即退出。。。 这是正确的方法吗?也许不需

  • 问题内容: 。 基本思想是使用音频和ui(vlc,firefox,skype等)运行应用程序 我正在使用pulseaudio搜索docker容器,但是找到了所有在tcp上使用pulseaudio流传输的容器。(应用程序的安全沙箱) https://gist.github.com/hybris42/ce429de428e5af3a344a https://github.com/jlund/docke

  • 我知道intellij有一个docker容器插件,但它似乎不允许我在容器内部开发。这个想法很简单,我不想将我的主机配置为具有正确的环境工具。我宁愿只设置一个docker容器,然后使用intellij在容器本身中查找lib、功能等。 这将对c、java和scala开发人员非常有帮助,而且对调试也非常有用。 那么,有可能用intellij在docker容器中开发吗?

  • 问题内容: 这是我从这里看到的代码。我对关键字感到困惑。 对于,我需要? 对于,我需要? 问题答案: 无需在回调中使用return语句。Promise构造函数不期望回调返回任何类型的返回值。 因此,在该回调中使用语句的原因仅是为了控制该函数中的执行流程。 如果您希望回调内部的执行完成而又不执行该回调中的任何其他代码,则可以在此时发出a 。 例如,您可以这样编写代码,而无需声明: 在这种情况下,您使