我有一个问题,当启动节点永远在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
Forever start script.js
在后台运行。要在前台运行forever
,请尝试使用forever script.js
。
这开始于前景,这是Docker所需要的。只要CMD中定义的进程启动并运行,请记住容器是“活着的”。由于永远作为守护进程启动,命令本身退出并且docker也将退出。
CMD forever -c 'node --harmony' /my/path/app.js
尝试使用数组语法:
CMD ["forever", "start", "-c", "node --harmony", "/my/path/app.js"]
我现在正试图在码头工具中使用forever
。这有效:
CMD ["forever", "src/app.js"]
放入你的Dockerfile:
CMD forever app.js