首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Docker容器与PM2在ec2实例中的运行

Docker容器与PM2在ec2实例中的运行
EN

Stack Overflow用户
提问于 2021-11-23 22:13:26
回答 1查看 737关注 0票数 2

我有一个运行节点应用程序的ec2实例。我正在考虑使用docker做一个容器实现。pm2正在运行两个应用程序,一个是实际的节点应用程序(express和pug),另一个是使用日程的cron作业。将我的应用程序放在一个容器中是个好主意吗?

我还不熟悉这方面的利弊,我读到码头已经是一个过程经理。一旦我实现了,pm2将如何适应所有这一切。或者,我应该放弃docker,在我的ec2的本地linux中运行应用程序。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-23 22:53:34

你有几个问题,我试着回答如下:

1.把我的应用程序放在一个容器中是个好主意吗?

这取决于,有很多情况下您希望运行同一个容器来执行多个事情。但它实际上取决于任务的CPU/RAM/内存使用情况。它多久跑一次?

无论如何,根据我的经验,如果我从同一个容器运行一个cron作业,我总是使用NodeJS核worker_threadscluster模块来使用工作方法。因为您不希望cron作业影响主线程的行为。我有一个在以下存储库中的多个线程上运行2个应用程序的示例。

2.我是否应该抛弃docker,在ec2的本地linux中运行应用程序?

Docker和PM2是两个非常不同的东西。Docker基本上是用来封装整个Node应用程序的,所以它更容易上船。PM2是节点的流程管理器,确保应用程序已经启动,并附带了一些很好的度量标准,并在PM2度量标准上记录UI。您肯定可以在一起使用2,因为PM2还确保应用程序在崩溃后会启动。

但是,如果使用pm2,则必须在使用停靠器时使用PM2-运行时。示例Dockerfile:

代码语言:javascript
复制
FROM node:16.9.0

WORKDIR /home/usr/app

COPY . .

RUN npm ci && npm run build

# default command is starting the server
CMD ["npx", "pm2-runtime", "npm", "--", "start"]
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70088495

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档