如何从 Windows WSL2 bash 访问 Docker Desktop 应用程序的卷?我可以\\wsl.localhost\docker-desktop-data\version-pack-data\community\docker\volumes
从 Windows 资源管理器中看到正确的内容,但从 WSL2 bash 中,此文件夹/mnt/wsl/docker-desktop-data/version-pack-data
列表结果为空集。
我正在使用 Windows 11 Pro 版本 10.0.22000 Build 22000
答案1
稍微老一点的问题@ADJenks 的回答,这肯定会起作用。
但恕我直言,更好的解决方案是我在这个答案。由于这篇文章很长,我将在这里重复一遍。从 WSL2 发行版内部:
$ findmnt -a | grep "version-pack-data\s"
| |-/mnt/wsl/docker-desktop-data/version-pack-data /dev/sdf[/version-pack-data] ext4 rw,relatime,discard,errors=remount-ro,data=ordered
# Using the block device returned (sdf in this case):
$ sudo mount /dev/sdf /mnt/wsl/instances/docker-desktop-data -o X-mount.mkdir
$ cd /mnt/wsl/instances/docker-desktop-data
这样做的好处是您将使用原生 Ext4 文件系统。使用drvfs
不会提供原生权限、符号链接和其他 POSIX 功能。
答案2
由于某种原因,您必须将其重新安装到不同的路径上,如下所示:
- 在 powershell 中:
net use h: \\wsl$\docker-desktop-data
- 在 wsl 中:
sudo mkdir /mnt/yourdockermount
sudo mount -t drvfs h: /mnt/yourdockermount
来源:https://github.com/microsoft/WSL/discussions/4176#discussioncomment-831817
上面的方法对我有用。还建议一步完成,如下所示:
在 wsl 中:
sudo mount -t drvfs '\\wsl$\docker-desktop-data' /mnt/yourdockermount
来源:https://github.com/microsoft/WSL/discussions/4176#discussioncomment-1458301