docker 容器的挂载映射关系查看

bash 复制代码
docker inspect --format='{{range .Mounts}}{{.Source}} -> {{.Destination}}{{"\n"}}{{end}}' 0c563bc1488c

这条命令的作用是列出容器 **0c563bc1488c** 的所有挂载映射关系 ,并以 宿主机路径 -> 容器内路径 的格式逐行输出。

命令拆解

部分 说明
.Mounts 容器的挂载信息数组(比 .Config.Volumes 更完整,包含 bind mount、volume、tmpfs 等所有类型)
range .Mounts 遍历每一个挂载条目
.Source 宿主机上的实际路径(bind mount 为宿主目录,named volume 为 Docker 管理的存储路径)
.Destination 容器内部的挂载目标路径
{``{"\n"}} 手动插入换行符,确保每个挂载独占一行
end 结束循环

输出示例解读

假设输出如下:

plain 复制代码
/var/lib/docker/volumes/mydata/_data -> /app/data
/home/user/config.yml -> /etc/app/config.yml
tmpfs -> /tmp

逐行解读:

  1. **/var/lib/docker/volumes/mydata/_data -> /app/data**
  • 这是一个 Named Volume (命名卷)。宿主机上由 Docker 管理的存储目录映射到容器内的 /app/data。数据持久化,不随容器删除而丢失。
  1. **/home/user/config.yml -> /etc/app/config.yml**
  • 这是一个 Bind Mount(绑定挂载)。宿主机的具体文件/目录直接映射进容器。修改宿主机文件会实时反映到容器内,反之亦然。
  1. **tmpfs -> /tmp**
  • 这是一个 tmpfs 挂载 。仅存在于内存中,不写入磁盘,容器停止后数据消失。注意此时 .Source 显示为 tmpfs 而非具体路径。

💡 实用提示

  • 区分挂载类型 :如果想在输出中同时看到类型,可以加上 .Type
bash 复制代码
docker inspect --format='{{range .Mounts}}{{.Type}}: {{.Source}} -> {{.Destination}}{{"\n"}}{{end}}' 0c563bc1488c

输出形如:volume: /var/lib/... -> /app/data,便于快速判断是 volume、bind 还是 tmpfs。

  • **.Mounts** vs **.Config.Volumes**.Config.Volumes 只包含镜像 Dockerfile 中 VOLUME 指令声明的匿名卷,不包含 -v / --mount 运行时指定的绑定挂载和命名卷。排查挂载问题时始终使用 .Mounts
  • JSON 格式更易解析 :如果需要程序化处理,建议用 jq
bash 复制代码
docker inspect 0c563bc1488c | jq '.[0].Mounts[] | "\(.Type): \(.Source) -> \(.Destination)"'
相关推荐
海宇AI1 小时前
零信任架构实战:基于海宇风控黑名单构建自动化企业信贷网关
运维·人工智能·架构·自动化
SLD_Allen1 小时前
从 HPA 到 KEDA:Kubernetes 弹性伸缩的进阶实践
云原生·容器·kubernetes
虎头金猫1 小时前
Pic Smaller 本地部署:压缩图片、转换格式,再搭建自己的 Web 工具
运维·前端·开源·aigc·ai编程·ai写作
程序员老赵2 小时前
Docker 部署 TeX Live:轻松搭建 LaTeX 论文排版编译平台
前端·docker·latex
xianyuCcCcCCCcc2 小时前
从 IT 基础到云计算:服务器、存储、网络与操作系统全栈深度解析
运维
Jae den2 小时前
什么是服务器虚拟化?
运维·服务器
陈皮糖..2 小时前
基于 Keepalived 的传统 Web 高可用架构的容器化改造与可观测性升级
运维·docker·性能优化·架构·云计算·prometheus
凌云若寒2 小时前
CODESOFT试用流程
linux·运维·网络·数据库·sentinel
秦jh_2 小时前
222222
docker