docker挂载的文件为什么没更新?

2020年3月22日00:33:32 发表评论 73 views

起因

项目中经常会有需求,宿主机上放有配置文件,然后挂载到docker容器内。一般还有需求,配置文件更新后,docker容器应该可以得到通知,得到文件的新内容。但事实上并没有。

解决方法和原因

  1. 将宿主机配置文件挂载到容器,在宿主机修改配置文件,但容器内挂载的文件并未发生变化,除非docker重启(亲测)

  2. docker挂载文件基于 inodevim等编辑工具保存文件时,并非直接保存,而是将一份新的临时文件覆盖了旧文件。对于inode而言,原文件并未被修改。

解决方案有三:
1. 换用nano等直接更新文件的编辑工具
2. 改为挂载目录。
3. 修改vim配置,添加:set backupcopy=yes

又学会了奇怪的知识。

本站整理自:https://www.jianshu.com/p/510afac3f267

weinxin
微信公众号
三分钟学习晦涩难懂的技术,分享开发、运维、云技术等方面知识,带您轻松打破技术壁垒,编程如鱼得水。欢迎您的关注~!
小熊

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: