NodeJS + Forever + Docker配置不起作用

时间:2015-10-14 14:09:58

标签: node.js docker forever

我有以下Dockerfile

FROM    debian:stable

RUN      apt-get update && apt-get upgrade -y
RUN      apt-get install -y curl
RUN      curl -sL https://deb.nodesource.com/setup_4.x | bash -
RUN      apt-get install -y nodejs
RUN      npm install forever -g

# App
ADD . /api
# Install app dependencies
RUN cd /api; npm install

EXPOSE  8080
CMD ["forever", "start", "/api/index.js", "8080"]

当我尝试运行docker run -p 8080:8080 my-app@1.0.0时,我收到以下消息:

  

警告: - minUptime未设置。默认为:1000毫秒

     

警告: - 未设置--spinSleepTime。如果脚本不能保持至少1000毫秒

,您的脚本将退出      

info:永远处理文件:/api/index.js

和泊坞窗容器停止。

我需要对容器工作做些什么?

1 个答案:

答案 0 :(得分:4)

一旦给定命令完成,Docker就会退出。 forever start SCRIPT在后​​台启动脚本作为守护进程,然后退出。这就是你的容器停止的原因。

要使其正常工作,您应该使用forever在前台启动forever SCRIPTCMD中的Dockerfile应为:

CMD ["forever", "/api/index.js", "8080"]