【问题标题】:PM2 start ecosystem.config.js not working in dockerfile in node js projectPM2 启动生态系统.config.js 在节点 js 项目的 dockerfile 中不起作用
【发布时间】:2022-01-22 19:44:19
【问题描述】:

我有一个节点 js 项目,我正在使用 Docker 将构建更新到服务器。 我想在服务器中以集群模式实现 pm2。于是我添加了ecosystem.config.js文件,内容如下:

module.exports = {
apps: [{
name: "TestMyApp",
script: "app.js",
instances: "1",
exec_mode: "cluster",
autorestart: true
}]
}

然后在我的 DockerFile 中,我添加了这样的命令

FROM node:16.9.1
WORKDIR /usr/src/app
COPY package*.json ./
RUN npm install
RUN npm install pm2 -g
COPY . .
EXPOSE 8005
CMD ["pm2-runtime", "ecosystem.config.js"] 
CMD ["npm", "start"]

但是当我在服务器中更新构建并运行 pm2 list 时,我的 pm2 'TestMyApp' 没有列出。

【问题讨论】:

    标签: node.js docker pm2


    【解决方案1】:

    您有多个CMD 命令。如果有多个 CMD 命令,则只有最后一个生效。因此,您的pm2-runtime 并未实际执行。

    如果您已经在使用pm2-runtime,不知道为什么需要npm start

    【讨论】:

    • 当我删除 npm start 并且只保留 pm2-runtime 时,我的服务器没有运行。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-26
    • 2020-01-28
    • 2017-04-07
    • 2019-04-25
    • 1970-01-01
    相关资源
    最近更新 更多