首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >docker-container中的inotifywait不注册更改

docker-container中的inotifywait不注册更改
EN

Stack Overflow用户
提问于 2015-01-13 15:48:06
回答 2查看 5.8K关注 0票数 14

我有一个运行在docker容器中的脚本,它通过inotifywait监听目录中的变化。该目录通过docker -v装载到主机系统。

由于某些原因,当此目录中的文件发生更改时,inotifywait不会触发。

这是有问题的脚本行

代码语言:javascript
复制
inotifywait -e create -e modify -e delete -e move  /etc/nginx/sites-enabled

容器是这样启动的(通过图2)

代码语言:javascript
复制
web:
  build: .
  ports:
   - "80:80"
  volumes:
   - ./conf:/etc/nginx/sites-enabled

当我通过fig up启动设置时,脚本会执行,但挂载卷中的更改不会触发inotify屏障。

EN

回答 2

Stack Overflow用户

发布于 2021-07-02 21:27:49

您必须将-mq添加到脚本中,如下所示:

代码语言:javascript
复制
inotifywait -mq -e create -e modify -e delete -e move  /etc/nginx/sites-enabled

我已经测试了这个解决方案,它是有效的。"m“代表"monitor”,"q“代表安静。

票数 1
EN

Stack Overflow用户

发布于 2020-06-19 22:05:03

我也遇到过类似的问题--在docker容器中丢失了inotify通知,结果发现问题出在将别名文件夹作为卷进行挂载时,在将主机文件夹替换为实际目录后,一切都开始正常工作。

在我的例子中,它是OS上的/tmp,因此在将它替换为/private/tmp:/tmp之后,容器开始接收inotify事件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27917187

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档