NodeJS + Forever + Docker 配置不起作用

Nie*_*ala 4 node.js forever docker

我有以下几点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"]
Run Code Online (Sandbox Code Playgroud)

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

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

警告:--spinSleepTime 未设置。如果脚本没有保持至少 1000 毫秒,您的脚本将退出

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

和 docker 容器停止。

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

har*_*ith 6

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

要使其工作,您应该forever在前台使用forever SCRIPT. 在CMD你的Dockerfile应该是:

CMD ["forever", "/api/index.js", "8080"]
Run Code Online (Sandbox Code Playgroud)