解决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的值不会改变。

相关推荐
匆匆那年96711 小时前
远程 Linux 校园网认证操作手册(本地浏览器法)
linux·运维·服务器
古城小栈12 小时前
K8s 之 ingress
云原生·容器·kubernetes
借你耳朵说爱你12 小时前
docker容器启动报错:library initialization failed - unable to allocate file descriptor table - out of memory
docker
万里侯12 小时前
微服务与人生:从服务网格看人际关系
微服务·容器·k8s
爱喝水的鱼丶13 小时前
SAP-ABAP:ABAP函数 NUMBER_GET_NEXT 详解:从编号范围对象获取下一个编号
运维·数据库·学习·sap·abap
Languorous.13 小时前
Windows 安装 Linux 虚拟机 / WSL 完整教程(新手零失败)
linux·运维·windows
疯狂成瘾者13 小时前
Kubernetes(简称K8s)
云原生·容器·kubernetes
ElevenS_it18813 小时前
K8s容器环境运维监控盲区:从Node到Pod到Service的可观测性分层实战
运维·容器·kubernetes
优化Henry13 小时前
5G基站设备替换过程中因参数配置与硬件不匹配产生的告警排查案例
运维·网络·5g·信息与通信
颂love14 小时前
Linux命令的简单学习
linux·运维·学习