如何在Windows Docker中访问主机卷

3
我在WSL中运行Windows和Ubuntu的Docker。 当我运行以下命令时 docker volume create test docker volume inspect test
我得到以下输出
[
    {
        "Driver": "local",
        "Labels": {},
        "Mountpoint": "/var/lib/docker/volumes/test/_data",
        "Name": "test",
        "Options": {},
        "Scope": "local"
    }
]

当我访问该位置时,出现如下错误信息:bash: cd: /var/lib/docker/volumes:没有那个文件或目录 那么我应该如何访问该文件夹呢?
3个回答

3

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

sudo ls /wsl/docker-desktop-data/data/docker/volumes/test/_data

我已按照这篇文章修改了我的WSL设置,所以你可能会发现你的路径不同。我认为默认路径可能是/mnt/wsl/docker-desktop-data/data/docker/volumes/test/_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

(假设您在 Windows 用户目录的根目录下有名为“test”的文件夹)

很遗憾,我的电脑上没有这些路径(我使用了相同的文章来设置它)。但是使用自定义文件夹,我已经成功了。 - maggie

2

基于@nick的回答

  • 从Linux系统中运行: sudo ls /mnt/wsl/docker-desktop-data/data/docker/volumes
  • 从Windows系统中运行:\\wsl$\docker-desktop-data\mnt\wsl\docker-desktop-data\data\docker\volumes

0

对于我而言,数据卷位于/mnt/wsl/docker-desktop-data/version-pack-data/community/docker/volumes,每个发行版可能在不同的位置挂载wsl,这至少是Ubuntu的默认路径。

我可以使用root权限cd进入它。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接