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

将文件的权限改为777,即chmod 777 filename

详细解释在该文章:
https://huaweicloud.csdn.net/633114e5d3efff3090b51a5a.html

说明:

这是由于linux系统文件挂载机制导致的。

docker通过volumes挂载文件到容器中,有以下两种方式:

1、挂载目录

2、挂载具体文件:并不是挂载了某个文件的路径,而是挂载了对应的文件,即挂载了linux指定的inode文件。

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

当把文件的权限修改为777之后,vim的时候inode的值不会改变。

相关推荐
大江东去浪淘尽千古风流人物8 分钟前
【DSP】xiBoxFilter_3x3_U8 dsp VS cmodel
linux·运维·人工智能·算法·vr
草莓熊Lotso28 分钟前
Python 入门超详细指南:环境搭建 + 核心优势 + 应用场景(零基础友好)
运维·开发语言·人工智能·python·深度学习·学习·pycharm
dog2501 小时前
Linux 6.19 TCP 的两个极限拉扯
linux·运维·tcp/ip
新兴AI民工1 小时前
【Linux内核九】进程管理模块:list_head钩子构造双向列表和一些宏定义
linux·运维·list·linux内核
小周学学学1 小时前
ESXI故障处理-重启后数据存储丢失
linux·运维·服务器
lpfasd1231 小时前
springcloud docker 部署问题排查与解决方案
spring·spring cloud·docker
宋情写1 小时前
docker-compose安装Redis
redis·docker·容器
王九思2 小时前
Ansible 自动化运维介绍
运维·自动化·ansible
lisanmengmeng2 小时前
cephfs 在k8s挂载文档
云原生·容器·kubernetes
三不原则2 小时前
实战:基于 GitOps 实现 AI 应用的自动化部署与发布
运维·人工智能·自动化