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

时间:2014-10-07 13:20:41

标签: node.js docker forever

我有一个问题,当启动节点永远在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

4 个答案:

答案 0 :(得分: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 :(得分:1)

尝试使用数组语法:

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

答案 2 :(得分:1)

我现在正在尝试在docker中使用forever。这有效:

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

答案 3 :(得分:0)

放入你的Dockerfile:

CMD forever app.js