gpt4 book ai didi

node.js - 无法在 docker 容器中列出 pm2

转载 作者:搜寻专家 更新时间:2023-10-31 23:32:54 26 4
gpt4 key购买 nike

我使用 Node.js 和 pm2 构建了一个 Docker 镜像。我启动了容器:

docker run -d --name test -p 22 myImage

然后我进入容器:

docker exec -it test /bin/bash

在容器中,执行命令:

pm2 list

它卡在这里:

enter image description here

P.s.:如果我在 Dockerfile 中添加 CMD pm2 start app.js,我的应用程序在 Docker 容器中运行良好。

最佳答案

如果你的 dockerfile CMD 是一个 pm2 命令,你有你包括 --no-daemon arg 选项,所以 pm2 在前台运行,所以你的 docker 容器继续运行。

Dockerfile CMD 示例:

CMD ["pm2", "start", "app.js", "--no-daemon"]

否则,如果没有 --no-daemon,pm2 将作为后台进程启动,并且 docker 认为 pm2 命令的执行已完成运行并停止。

参见 https://github.com/Unitech/PM2/issues/259

关于node.js - 无法在 docker 容器中列出 pm2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30816771/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com