我的目标是建立一个Docker容器,当检测到主机文件更改时自动重新启动NodeJS服务器。
我选择了nodemon来监视文件变化。
在Linux和Mac环境中,nodemon和docker工作得非常顺畅。
然而,在Windows环境下,nodemon无法重新启动服务器。
这些文件在主机上更新,并且使用我的docker-compose.yml文件中的volumes
参数进行链接。
当我运行docker exec <container-name> cat /path/to/fileChanged.js
时,我可以看到文件已经更改。这样我就知道文件被正确地链接并在容器中被修改。
有没有任何原因导致nodemon在Windows上无法重新启动服务器?
CMD ["nodemon", "-L", "your_file_here"]
。或者您可以在Dockerfile中放置类似于此的内容:CMD ["npm", "run", "custom_script_name"]
,然后在package.json
中放置"scripts": { "custom_script_name": "nodemon -L your_file_here", ... }
。这两种方法都将在docker-compose up
之后从您的Dockerfile运行此命令。 - Augie Gardner