docker挂载文件的更新问题

2020-03-18  本文已影响0人  夜清溟

原文链接:
https://www.jianshu.com/p/510afac3f267

docker挂载文件的更新问题
起因
项目中经常会有需求,宿主机上放有配置文件,然后挂载到docker容器内。一般还有需求,配置文件更新后,docker容器应该可以得到通知,得到文件的新内容。但事与愿违。以下是网上找到的解决办法和原因。

解决方法和原因
将宿主机配置文件挂载到容器,在宿主机修改配置文件,但容器内挂载的文件并未发生变化,直至docker重启。

记得不是这样的。起初以为是版本的原因。于是在最新版docker上做了测试,问题依旧。

只好网上各种查。最后从docker issue上找到了答案:
docker挂载文件基于inode。vim等编辑工具保存文件时,并非直接保存,而是将一份新的临时文件覆盖了旧文件。对于inode而言,原文件并未被修改。

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

上一篇下一篇

猜你喜欢

热点阅读