node.js - 在主机上更改挂载卷中的文件时,不会在 docker 容器中触发文件系统事件
问题描述
我想在文件更改时使用 nodemon 重新启动我的项目。我认为 nodemon 通过侦听 inotify 事件来触发重新加载 node.js 项目来工作。
该项目在 docker 容器中运行,并且项目文件位于已安装的卷中。
例如,从 docker 容器内部编辑项目文件时
docker-compose exec dev vim server.js
nodemon 正常工作并重新启动服务器。
但是,当使用在主机上运行的编辑器时,nodemon 不会获取更改并重新启动程序。
docker 容器中文件的内容确实发生了变化,所以我怀疑以这种方式编辑文件不会触发 FS 事件。
是否可以进行设置,以便在主机上编辑文件导致 Docker 容器中发生文件系统事件?为什么这还没有发生?
平台信息:- Docker for Windows (Hyper-V)
node
码头集装箱- WebStorm——基于主机的编辑器
解决方案
当 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
推荐阅读
- python - 为什么我的 Collatz 序列代码执行但显示错误?
- python - 如何使 Tkinter GUI 线程安全?
- c# - 模型绑定的复杂类型不能是抽象类型或值类型,并且必须具有无参数构造函数
- android - 将apk上传到Nexus,maven插件是唯一的方法吗?
- c# - 有没有一种方法可以获取锁 c# 的递归级别
- javascript - How to send addicional information along with ember Delete model request
- xamarin.forms - Xamarin iOS:如何使用标准阅读器打开 pdf 文件
- powershell - 调用可执行文件时重复的动态参数
- sql - My first question — Violation of PRIMARY KEY constraint
- python - 装饰器的类不能改变类变量