在永久docker容器中开始节点的错误

我有一个问题,永远在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 

Google小组讨论

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

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

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

尝试使用数组语法:

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

放入您的Dockerfile中:

 CMD forever app.js 

不工作,我试着用2个命令:

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

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

如果进入容器并forever start -c 'node --harmony' /my/path/app.js工作