docker bind 文件修改不更新
现象
bind mount 一个文件
在宿主机上用 vim 修改这个文件
容器内文件未更新
原因
Linux 的 bind mount 在目标是文件时真正 bind 的不是路径而是 inode
vim 修改过程会导致 inode 变化,因此修改不会同步到容器中
Workaround
方案一:不使用 vim 修改
替代方案一:使用 nano
替代方案二:创建一个拷贝后利用
cat modified_file > original_file
的方式来不修改 inode
方案二:使用 vim 时
:set backupcopy=yes