如何在docker for windows中访问主机中的卷

如何在docker for windows中访问主机中的卷,docker,windows-subsystem-for-linux,Docker,Windows Subsystem For Linux,我在WSL中运行Windows和ubuntu的docker。 当我运行以下命令时 docker卷创建测试 docker音量检查测试 我得到以下输出 [ { "Driver": "local", "Labels": {}, "Mountpoint": "/var/lib/docker/volumes/test/_data", &

我在WSL中运行Windows和ubuntu的docker。 当我运行以下命令时

docker卷创建测试

docker音量检查测试

我得到以下输出

[
    {
        "Driver": "local",
        "Labels": {},
        "Mountpoint": "/var/lib/docker/volumes/test/_data",
        "Name": "test",
        "Options": {},
        "Scope": "local"
    }
]
当我访问该位置时,我得到
bash:cd:/var/lib/docker/volumes:没有这样的文件或目录


那么我应该如何访问该文件夹呢?

该目录受到保护,因此您可以
cd
进入其中,但是您可以
ls
内容:

sudo ls /wsl/docker-desktop-data/data/docker/volumes/test/_data
我已根据修改了WSL设置,因此您可能会发现您的路径不同。我认为默认路径可能是
/mnt/wsl/docker desktop data/data/docker/volumes/test/\u data

您可能会发现在Windows用户文件夹中挂载目录更有用,方法是按照上面链接的文章更改WSL挂载点,然后运行:

docker volume create --driver local --name test --opt device=/run/desktop/mnt/host/c/Users/<username>/test --opt type=none --opt o=bind
docker卷创建--驱动程序本地--名称测试--opt device=/run/desktop/mnt/host/c/Users//test--opt type=none--opt o=bind
(假设您在Windows用户目录的根目录下有一个名为
test
的文件夹)

基于答案

  • 来自linux:
    sudols/mnt/wsl/docker桌面数据/数据/docker/volumes
  • 从windows:
    \\wsl$\docker desktop data\mnt\wsl\docker desktop data\data\docker\volumes

不幸的是,这些路径在我的机器上都不存在(我使用了同一篇文章来设置它)。但是使用自定义文件夹我已经成功了。