我正在重构几个 node .js服务.以前,它们都是从forever台虚拟服务器开始的,如果进程崩溃,它们只需重新启动.

现在,转到容器化和无状态的应用程序 struct ,我认为进程应该退出,容器应该在出现故障时重新启动.

对吗?有好处还是坏处?

推荐答案

我的 idea 是不要使用容器内流程管理器(forever,pm2),而是通过--restart=always(或该选项的其他版本之一)使用docker重启策略.这更符合docker的整体理念,并且应该与容器内流程监控非常类似,因为docker容器开始运行得非常快.

如果你想探讨这个话题的另一个立场,我所见过的运行在容器中过程监督的最有力倡导者是phusion baseimage-docker README人.

Node.js相关问答推荐

使用prisma迁移到SQL失败

我的位置也移动时左右拖动谷歌 map

Windows上使用ES6+的OpenAPI规范的Express服务器不接受嵌套路由'

NPM:一般的npm二进制依赖可以静态构建吗?

如何在不丢失其他键的情况下解开子文档数组,然后反转该过程?

关于Node.js中的AES加密库的问题

如何在docker容器上正确安装nodejs?

Solidity 将数据位置从内存更改为存储

当我try 从本地主机发布新产品时收到错误消息

NodeJs 过滤掉目录异步

Node JS:自动 Select `http.get`与`https.get`

具有多个条件的mongoose 查找

在 express 中添加故意延迟

密码的 Node.js 散列

使用 pg-promise 进行多行插入

通过 POST 请求将数据从 node.js 服务器发送到 node.js 服务器

npm 出现无法读取依赖项错误

如何在 NodeJS 中拆分和修改字符串?

使用 gzip/deflate 压缩的简单 HTTP 请求

大型项目的 NodeJS vs Play 框架