С учетом докернизированного приложения на основе NodeJS, как лучше всего выполнить следующие требования:
- Для автоматического перезапуска приложения NodeJS при изменении исходного кода
- Для автоматического перезапуска приложения NodeJS на cra sh
- Чтобы иметь возможность оставаться подключенным к контейнеру при автоматическом перезапуске c
- Для возможности прерывания работающее приложение NodeJS с Ctrl- C при подключении к контейнеру
Я провел небольшое исследование и попробовал следующее:
- Команда:
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 дочернему процессу.
Есть ли лучший способ?