解决docker通过volumes挂载文件,宿主机修改后容器内不同步,重启服务才能同步

本文解释了在Linux系统中,Docker通过volumes挂载文件时,由于编辑器如vim的操作机制导致文件inode的变化。为避免重启容器时因inode挂载问题,文中建议将文件权限设置为777,确保文件内容同步。
摘要由CSDN通过智能技术生成

将文件的权限改为777,即chmod 777 filename
详细解释在该文章:
https://huaweicloud.csdn.net/633114e5d3efff3090b51a5a.html

说明:
这是由于linux系统文件挂载机制导致的。
docker通过volumes挂载文件到容器中,有以下两种方式:
1、挂载目录
2、挂载具体文件:并不是挂载了某个文件的路径,而是挂载了对应的文件,即挂载了linux指定的inode文件。

当使用vim之类的编辑器进行保存时,它不是直接保存文件,而是采用了备份、替换的策略。就是编辑时,创建了一个新文件,在保存的时候把备份文件替换为源文件,这个时候文件的inode就发生了变化,而原来indode对应的文件其实并没有修改,也就是容器内的文件没有变化。当重启容器的时候,会挂载新的inode.
当把文件的权限修改为777之后,vim的时候inode的值不会改变。

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值