Docker завершает работу с кодом 0 при запуске pm2 - PullRequest
0 голосов
/ 01 мая 2019

My Dockerfile содержит команду pm2 start следующим образом:

FROM node:10

WORKDIR /usr/src/app

COPY . .

# ...

EXPOSE 8080

CMD [ "pm2", "start", "npm", "--", "start" ]

Однако контейнер сразу выходит после успешного запуска журналов pm2:

[PM2] Spawning PM2 daemon with pm2_home=/root/.pm2
[PM2] PM2 Successfully daemonized
[PM2] Starting /usr/local/bin/npm in fork_mode (1 instance)
[PM2] Done.

Как мне заставить контейнер работать с pm2?

1 Ответ

1 голос
/ 01 мая 2019

Проблема в том, что pm2 start запускает pm2 как демон, о котором Docker не знает.

Вам нужно использовать pm2-runtime, чтобы запустить его на переднем плане:

CMD [ "pm2-runtime", "start", "npm", "--", "start" ]

См. Документацию pm2 "Интеграция контейнеров".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...