在Docker VM中,Gulp-Watch似乎无法在主机操作系统托管的卷上运行良好

adr*_*ian 12 node.js docker gulp boot2docker gulp-watch

所以我有一个设置,可能与大多数人一样,他们的应用程序代码通过一个单独的卷安装到Docker容器中.

问题是,如果我运行gulp,特别是gulp-watch,在docker中监视文件修改等,在docker容器中安装的应用程序代码上,根据需要正确构建并重新启动docker容器中的节点,似乎获取cpu密集(如轮询文件更改而不是监听文件更改事件)到我的机器扣的点.

我认为这是由于将文件系统从本机主机安装到docker容器的限制,但是人们如何解决这个问题呢?他们是否在容器中完成所有工作?本土主持人然后不断建设?或者我错过了gulp-watch/nodemon设置不正确的地方?

el-*_*avo 10

对于任何使用gulp4的人

我能让它工作的唯一方法是使用"usePolling",如下所示

gulp.watch('./**/*', {interval: 1000, usePolling: true}, gulp.series('superTask'));
Run Code Online (Sandbox Code Playgroud)


Jes*_*ton 6

尝试更改gulp.watch 选项.这对我来说好得多:

gulp.watch('./**/*', {interval: 1000, mode: 'poll'}, ['build']);
Run Code Online (Sandbox Code Playgroud)