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

小熊 Docker评论7,096字数 345阅读1分9秒阅读模式

起因

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

解决方法和原因

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

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

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

又学会了奇怪的知识。

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

weinxin
公众号
扫码订阅最新深度技术文,回复【资源】获取技术大礼包
Docker最后更新:2020-8-31
小熊