起因
项目中经常会有需求,宿主机上放有配置文件,然后挂载到docker
容器内。一般还有需求,配置文件更新后,docker
容器应该可以得到通知,得到文件的新内容。但事实上并没有。
解决方法和原因
- 将宿主机配置文件挂载到容器,在宿主机修改配置文件,但容器内挂载的文件并未发生变化,除非docker重启(亲测)
-
docker
挂载文件基于inode
。vim
等编辑工具保存文件时,并非直接保存,而是将一份新的临时文件覆盖了旧文件。对于inode
而言,原文件并未被修改。
解决方案有三:
1. 换用nano等直接更新文件的编辑工具
2. 改为挂载目录。
3. 修改vim配置,添加:set backupcopy=yes
又学会了奇怪的知识。
本站整理自:https://www.jianshu.com/p/510afac3f267
公众号
扫码订阅最新深度技术文,回复【资源】获取技术大礼包
评论