События файловой системы не запускаются в док-контейнере при изменении файлов в подключенном томе на хосте - PullRequest
0 голосов
/ 22 мая 2019

Я хотел бы использовать nodemon, чтобы перезапустить мой проект, когда его файлы изменены.Я думаю, что nodemon работает, слушая события inotify, чтобы инициировать перезагрузку проекта node.js.

Проект выполняется в Docker-контейнере, а файлы проекта находятся в подключенном томе.

Когда файлы проекта редактируются изнутри Docker-контейнера, например

docker-compose exec dev vim server.js

nodemon работает правильно и перезапускает сервер.

Однако, когда используется редактор, работающий на хост-компьютере, nodemon не принимает изменения и перезапускает программу.

Содержимоефайлов в контейнере Docker фактически меняются, поэтому я подозреваю, что редактирование файлов таким способом просто не вызывает событие FS.

Возможно ли настроить это так, чтобы редактирование файлов на хост-компьютере вызывалособытия файловой системы происходят в контейнере Docker?Почему этого еще не произошло?

Информация о платформе:
  • Docker для Windows (Hyper-V)
  • node контейнер Docker
  • WebStorm - редактор на основе хоста

1 Ответ

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

Похоже, что события файловой системы просто не работают, когда Docker работает в Hyper-V и изменения происходят на хосте. Но можно обойти это ограничение, включив опрос в nodemon:

nodemon -L server.js

В WebStorm полная команда, которая в конечном итоге привыкает, -

docker-compose run dev node node_packages/nodemon/bin/nodemon.js -L server.js

Дополнительная информация: https://github.com/remy/nodemon#application-isnt-restarting

...