监视docker容器中的节点进程

时间:2015-11-26 06:36:28

标签: javascript node.js nginx docker docker-compose

我有一个docker-compose文件,可以创建3个Node-js容器和一个Nginx容器作为转发代理来进行负载均衡。

如何在Node-js容器发生故障时监控并重新启动它们?

传统观念认为所有容器应该只有一个过程。因此,在节点容器上运行systemd(或类似的)会破坏该模式。

__-- ==更新== --__

正如@mishunika所述,如果节点进程因正确的退出代码失败并且容器上有正确的重启策略,它将重新启动。

1 个答案:

答案 0 :(得分:1)

首先,它实际上取决于node.js容器可能在什么情况下失败,如果它这样做,容器应该停止并返回退出状态代码。

从docker 1.2开始,有所谓的restart policies。我想失败的节点实例可能会停止容器并返回非零值。在这种情况下,您可以在容器级别指定 on-failure 策略。

在撰写时,您可以通过以下方式指定:

container_name:
    build: .
    ...
    restart: on-failure