我的目标是设置一个Docker容器,当从主机检测到文件更改时,容器会自动重启NodeJS服务器。
我select了nodemon来观察文件的更改。
在Linux和Mac环境中,nodemon和docker工作正常。
但是,当我在Windows环境中时 ,nodemon不会重新启动服务器。
这些文件在主机上更新,并使用docker-compose.yml文件中的volumes
参数进行链接。
当我运行docker exec <container-name> cat /path/to/fileChanged.js
时,我可以看到文件已经改变。 这样我知道文件已正确链接,并在容器中进行了修改。
有什么理由为什么nodemon不重新启动服务器的Windows?
使用nodemon --legacy-watch
轮询文件更改,而不是侦听文件系统事件。
VirtualBox 不会将文件系统事件通过vboxfs共享传递到您的Linux VM。 如果您使用的是Docker for Windows,则HyperV不会传播文件系统事件。