2015-10-14 2 views
2

я следующий Dockerfile:NodeJS + Вечно + конфигурация Docker не работает

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 [email protected] я получаю следующее сообщение:

предупреждают: --minUptime не задавать. По умолчанию: 1000 мс

Предупреждение: --spinSleepTime не установлено. Ваш сценарий будет выйти, если он не остается в течение по крайней мере 1000мса

информации: Вечно обработке файла: /api/index.js

и Докер контейнер останавливается.

Что мне нужно сделать для работы с контейнером?

ответ

2

Докер выходит, как только данная команда будет завершена. forever start SCRIPT запускает скрипт в качестве демона в фоновом режиме, а затем выходит. Вот почему ваш контейнер останавливается.

Чтобы сделать его работу, вы должны начать forever на переднем плане с помощью forever SCRIPT. CMD в вашем Dockerfile должен быть:

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

Спасибо за ваш ответ и объяснение – Niezborala

Смежные вопросы