@qnpo51ema

Как настроить hot reload в микросервисе на node js с использованием docker?

Есть несколько микросервисов на node.js, каждый из которых лежит в своем отдельном репозитории. Также есть service-config репозиторий откуда я запускаю на локальной машине все остальные микросервисы через docker-compose:
version: '3.9'
services:
  service1:
    image: 'dockerhubuser/service1'
    ports:
      "5000:5000"

  service2:
    image: 'dockerhubuser/service2'
    ports:
      "5050:5050"


Все запускается так как надо, но в таком случае микросервисы не поддерживают хот релоад. Сервисы используют nodemon и если я запускаю каждый отдельный сервис локально через собственный docker-compose сервиса, то хот релоад работает. Однако запускать так приложение не очень удобно.

docker-compose отдельного сервиса:
version: '3.9'
services:
  service1:
    build: .
    ports:
      "5000:5000"


Также стоит отметить, что все сервисы запускаются через nodemon -L и везде есть nodemon config legacyWatch: true. однако что с ним, что без него хот релоад отказывается работать, если запускать все через service-config.

Насколько я понимаю проблема в том, что service-config запускает сервисы используя Dockerfile. (хот реалоад работает только при запуске отдельного сервиса через docker-compose) Какие варианты решения данной проблемы у меня есть? Также хотелось бы почитать мнение по реализации подобных проектов
  • Вопрос задан
  • 167 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы