Kubernetes Volume中mountPath属性作用及同Pod多容器不同挂载路径疑问
mountPath 属性作用详解
mountPath 是Kubernetes volumeMounts 配置块下的必填字段,作用是将Pod中声明的指定Volume,挂载到当前容器内部的对应文件系统路径,容器内对该路径的读写操作实际会作用到绑定的Volume上。
结合你给出的YAML示例可以更直观理解:
你在Pod级别声明了一个名为html的emptyDir类型共享Volume,两个容器分别做了不同的挂载配置:
- nginx容器:将
htmlVolume挂载到自身的/usr/share/nginx/html路径,且配置了readOnly: true,nginx服务对外提供网页时,会直接读取该Volume内的文件内容 - html-updater容器:将同一个
htmlVolume挂载到自身的/mohit路径,默认是可写权限,容器内执行的脚本每10秒向/mohit/index.html追加时间内容,实际就是写入共享的htmlVolume
两个容器虽然挂载到自身的路径不同,但底层对应同一块共享存储,因此可以实现跨容器的数据共享,对应挂载逻辑如下:
补充两个常见注意点:
- 若
mountPath指定的容器内路径已存在原有文件,挂载Volume后原有文件会被暂时隐藏,容器默认只能访问Volume内的内容,如需保留原有文件的部分内容可结合subPath字段配置 - 同一块Volume给不同容器挂载时,可以各自独立配置
readOnly权限,互不影响
内容的提问来源于stack exchange,提问作者KiddoDeveloper
相关产品推荐
相关产品推荐

