如何在Mac主机上定位并访问Docker的/shared卷映射目录
你遇到的情况很典型——因为Docker Desktop for Mac是基于Linux虚拟机运行的,所以你通过docker inspect看到的Source路径是虚拟机内部的文件系统路径,在Mac主机的Finder里直接找不到这个路径。下面我给你几种实用的访问方式:
1. 通过Docker Desktop图形界面直接浏览卷内容
这是最直观的方法:
- 打开Docker Desktop应用,点击左侧导航栏的「Volumes」选项
- 在卷列表里找到你inspect结果里的卷名(就是那串长哈希:
fb7ace0b18153bdad1744f0ac18eadc3775929dd5f448ebb228e7130f86c1a19) - 点击卷右侧的「Explore」按钮,就能在浏览器窗口里查看、上传或下载卷内的文件了
2. 用docker cp命令在主机和容器间传输文件
如果你的容器还在运行,或者虽然停止了但没被删除,可以用docker cp直接复制文件:
- 把容器内
/shared目录的所有内容复制到Mac主机的桌面:docker cp d2e17f3d3bb4:/shared ~/Desktop/docker-shared - 把Mac主机的文件复制到容器的
/shared目录:docker cp ~/Desktop/my-file.txt d2e17f3d3bb4:/shared/
3. 创建容器时直接绑定Mac本地目录(更推荐)
如果你希望以后能直接在Mac上访问容器的/shared目录,下次创建容器时用绑定挂载(bind mount)代替匿名卷,直接把Mac的本地目录映射到容器内:
docker run -it --volume ~/Desktop/docker-shared:/shared ubuntu:latest /bin/bash
这样Mac主机的~/Desktop/docker-shared就和容器内的/shared实时同步,你可以直接在Finder里操作这个目录的文件,容器里也会立刻看到变化。
额外:确认卷的详细信息
你可以用下面的命令查看这个卷的完整配置,确认它的状态:
docker volume inspect fb7ace0b18153bdad1744f0ac18eadc3775929dd5f448ebb228e7130f86c1a19
内容的提问来源于stack exchange,提问作者Dmitry Dyachkov




