我有一个问题,当启动节点永远在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
答案 0 :(得分:28)
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