在主机上更改已装入卷中的文件时,未在docker容器中触发文件系统事件

时间:2019-05-22 00:39:08

标签: node.js linux docker nodemon inotify

更改文件后,我想使用nodemon重新启动项目。我认为nodemon通过侦听inotify事件来触发重新加载node.js项目。

项目在docker容器中运行,项目文件在已安装的卷中。

例如,从docker容器内部编辑项目文件时

docker-compose exec dev vim server.js

nodemon正常工作,然后重新启动服务器。

但是,当使用在主机上运行的编辑器时,nodemon不会获取更改并重新启动程序。

docker容器中文件的内容实际上确实发生了变化,因此我怀疑以这种方式编辑文件不会触发FS事件。

是否可以进行设置,以便在主机上编辑文件导致文件系统事件在Docker容器中发生?为什么这还没有发生?

平台信息:
  • 适用于Windows的Docker(Hyper-V)
  • node码头集装箱
  • WebStorm-基于主机的编辑器

1 个答案:

答案 0 :(得分:1)

当Docker在Hyper-V中运行并且更改发生在主机上时,文件系统事件似乎不起作用。但是,可以通过在nodemon中启用轮询来解决该限制:

cv2.contourArea(contour)

在WebStorm中,最终被使用的完整命令是

nodemon -L server.js

更多信息: https://github.com/remy/nodemon#application-isnt-restarting