docker volume inspect 是正确命令,可查卷元数据但不直接显示宿主机路径;local 驱动卷的 Mountpoint 字段即真实路径,如 /var/lib/docker/volumes/mydata/_data。
volumeinspect 本身不是 docker 的原生命令,docker 没有叫 volume inspect 的子命令;正确命令是 docker volume inspect。它能查出卷的元数据,但**不直接显示宿主机上的物理路径**——因为路径取决于驱动类型(如 local 驱动才映射到本地文件系统)。下面分情况说明如何获取挂载卷在宿主机上的真实路径。
确认卷驱动类型
先检查目标卷使用的是哪种驱动:
- 运行
docker volume inspect <volume-name> - 查看输出中的
"Driver"字段:
• 若为"local"(默认),则该卷实际存储在宿主机磁盘上,可进一步定位路径;
• 若为"none"、"tmpfs"或第三方插件(如netapp、aws),则没有传统意义上的“物理路径”或路径由插件管理,inspect输出中通常不含Mountpoint或仅含占位符。
对 local 驱动卷:提取 Mountpoint 路径
对于 local 驱动的卷,docker volume inspect 输出中会包含 "Mountpoint" 字段,这就是宿主机上的绝对路径:
- 执行:
docker volume inspect mydata | jq -r '.[0].Mountpoint'(需安装 jq) - 或用原生命令提取:
docker volume inspect mydata | grep Mountpoint | cut -d'"' -f4 - 典型输出类似:
/var/lib/docker/volumes/mydata/_data - 该路径可直接在宿主机上访问(需 root 权限),里面内容即容器内挂载点所见的数据。
验证路径是否真实存在且可读
拿到 Mountpoint 后建议快速验证:
- 运行
ls -ld /var/lib/docker/volumes/mydata/_data确认目录存在 - 检查所属用户和权限:
docker进程通常以 root 运行,卷目录属主常为root:root,普通用户需sudo才能读写 - 若容器内应用以非 root 用户运行(如 UID=1001),注意该用户在宿主机上无对应账号,但文件权限仍按 UID 控制 —— 直接在宿主机操作时需留意 UID 匹配问题
注意:绑定挂载(bind mount)不适用此方法
如果你用的是 -v /host/path:/container/path 这类绑定挂载,它不是 volume,而是直接指定宿主机路径。此时无需 inspect,路径就是你写的 /host/path。可用 docker inspect <container-name> 查看 Mounts 数组确认类型和源路径。


















