【问题标题】:How to access the volume in host in docker for windows如何在 docker for windows 中访问主机中的卷
【发布时间】:2020-07-04 03:39:53
【问题描述】:

我在 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: No such file or directory

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

【问题讨论】:

    标签: docker windows-subsystem-for-linux


    【解决方案1】:

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

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

    我已根据this article 修改了我的 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 的文件夹)

    【讨论】:

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

    基于@nick's答案

    • 来自linux:sudo ls /mnt/wsl/docker-desktop-data/data/docker/volumes
    • 来自窗口:\\wsl$\docker-desktop-data\mnt\wsl\docker-desktop-data\data\docker\volumes

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-08-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-21
      • 2019-06-27
      • 1970-01-01
      • 2017-06-19
      相关资源
      最近更新 更多