在docker容器中永远启动节点时出错

问题描述 投票:15回答:4

我有一个问题,当启动节点永远在docker容器中,如果我手动启动工作,而不是相同的命令在Dockerfile中,当构建并启动容器时,退出。该命令在bash中有效:

docker run -it container_name bash forever start -c 'node --harmony' /my/path/app.js

我试图将命令放在Dockerfile中,但容器没有启动

CMD forever start -c 'node --harmony' /my/path/app.js
node.js docker forever
4个回答
28
投票

Google Group discussion

Forever start script.js在后台运行。要在前台运行forever,请尝试使用forever script.js

这开始于前景,这是Docker所需要的。只要CMD中定义的进程启动并运行,请记住容器是“活着的”。由于永远作为守护进程启动,命令本身退出并且docker也将退出。

CMD forever -c 'node --harmony' /my/path/app.js

1
投票

尝试使用数组语法:

CMD ["forever", "start", "-c", "node --harmony", "/my/path/app.js"]

1
投票

我现在正试图在码头工具中使用forever。这有效:

CMD ["forever", "src/app.js"]

0
投票

放入你的Dockerfile:

CMD forever app.js
© www.soinside.com 2019 - 2024. All rights reserved.