Каков наилучший способ для контейнера NodeJS docker для отслеживания изменений файловой системы и перезапуска на cra sh? - PullRequest
0 голосов
/ 21 февраля 2020

С учетом докернизированного приложения на основе NodeJS, как лучше всего выполнить следующие требования:

  • Для автоматического перезапуска приложения NodeJS при изменении исходного кода
  • Для автоматического перезапуска приложения NodeJS на cra sh
  • Чтобы иметь возможность оставаться подключенным к контейнеру при автоматическом перезапуске c
  • Для возможности прерывания работающее приложение NodeJS с Ctrl- C при подключении к контейнеру

Я провел небольшое исследование и попробовал следующее:

  1. Команда: nodemon -x node app.js

Проблема: скрипт не перезапускается автоматически после взлома sh

Команда: nodemon -x (node app.js; sleep 1; touch app.js)

Проблема: скрипт перезапускается как при изменении файла, так и на cra sh, но временная метка основного файла (приложение. js) изменяется после каждый cra sh, что создает проблемы при синхронизации rsyn c. И это не элегантное решение.

Команда: nodemon -x node app.js и restart: always docker -составить poicy

Проблема: при подключении к контейнеру и сбоя кода JS docker отсоединяется от контейнера. Необходимо прикрепить обратно вручную.

Команда: forever -w app.js

Проблема: Ctrl- C не отсоединяется немедленно от контейнера, как в случае с nodemon. Я думаю, что навсегда не передает команды SIGINT / SIGTERM дочернему процессу.

Есть ли лучший способ?

...