【问题标题】:where docker image is stored with docker-desktop for windows?docker 图像与 docker-desktop for windows 一起存储在哪里?
【发布时间】:2020-10-04 09:17:20
【问题描述】:

我从https://www.docker.com/products/docker-desktop 安装了适用于 Windows 10 的 docker-desktop,并为 Linux 容器启用了 docker 守护程序。 我有自己的名为 ubuntu 的 wsl2 发行版,我启用了 docker-desktop 与发行版 ubuntu 的集成,并在其中构建了一个映像。 但我无法弄清楚图像的保存位置。 我做了一些搜索,发现有人说它在\\wsl$\docker-desktop-data\mnt\wsl\docker-desktop-data\data\docker。我确实找到了这个文件夹,但整个文件夹只有几百 MB,而我的图像是几个 GB。我只在文件夹中找到元数据,而不是真实图像。 有人指出我可以在 docker 资源配置选项卡中找到图像的路径,但我的没有显示 docker 图像在哪里......

有人发现过类似情况的图片吗?

更新 卷在文件夹中创建:\\wsl$\docker-desktop-data\mnt\wsl\docker-desktop-data\version-pack-data\community\docker\volumes

【问题讨论】:

  • 您的问题不清楚:您是在 Ubuntu 虚拟机中运行 Docker for Windows 还是 Docker-ce(在具有托管虚拟机管理程序的虚拟机上运行)?如果是 Docker for windows (Docker Desktop),可以回答您的问题:stackoverflow.com/questions/42250222/…
  • 不能直接从主机访问图片内容;它们存储的格式是不透明的,并且可能因安装而异。你在这个目录中寻找什么?
  • @yAzou 我更新了我的帖子。我关注了你的链接,我的docker info/var/lib/docker 提供了root 权限,但是没有这样的文件夹,只有/var/lib/docker-desktop 这是一个空文件夹。 @DavidMaze 如果我知道图像存储在哪里,我会感到安全。图像大小不可忽略..
  • 您是否尝试过 Docker-desktop 的 UI,如链接的第一个答案中所述?它应该向您显示存储图像的确切 Windows 路径...
  • @yAzou 我的 docker 桌面没有显示路径...我想也许旧版本会显示,但我昨天下载的那个没有。

标签: docker windows-subsystem-for-linux docker-desktop


【解决方案1】:

根据this answer,Docker VM 存储在文件%USERPROFILE%\AppData\Local\Docker\wsl\data\ext4.vhdx 中。

这可能不是你要找的,但我在寻找链接的时候发现了这个帖子,所以这个答案可能对其他人有所帮助。

【讨论】:

    【解决方案2】:

    正如 Max 所说,Docker for WSL2 创建了两个发行版 docker-desktopdocker-desktop-data

    经过一番挖掘,我终于了解了图层数据,它在这里:\\wsl$\docker-desktop-data\version-pack-data\community\docker\overlay2

    您可以在此处访问层差异(不是整个图像,因为这不是 docker 存储它们的方式),但请注意,尽管文件夹不是以图像 id 或其 repo 摘要命名的,但请注意。要找到正确的文件夹,您需要运行docker image inspect image_id_here 并查找GraphDriver.Data.UpperDir(或只运行docker inspect image_id_here -f "{{.GraphDriver.Data.UpperDir}}"),其中将包含/overlay2/ 之后的文件夹名称。

    注意:\\wsl$\docker-desktop-data\mnt\wsl\docker-desktop-data\ 是多余的,相同的路径可以简化为 \\wsl$\docker-desktop-data\(出于某种原因,某些发行版会安装到它们自己)。

    【讨论】:

    • 当我读到的所有内容都说数据应该保存到 docker\volumes 时,为什么 docker\overlay2 中有东西?是否有一些我没有正确执行的设置?我的 docker\volumes 是空的。
    【解决方案3】:

    使用 WSL 集成时,docker 创建两个发行版

    • 码头工人桌面
    • 码头工人桌面数据

    你可以通过

    \\wsl$\docker-desktop
    \\wsl$\docker-desktop-data
    

    【讨论】:

    • 谢谢你,为了更具体一点,它位于\\wsl$\docker-desktop-data\mnt\wsl\docker-desktop-data\version-pack-data\community\docker\volumes
    • 知道这两个发行版之间的区别是什么吗?我很困惑。
    猜你喜欢
    • 2021-08-29
    • 2022-11-21
    • 1970-01-01
    • 2019-01-28
    • 2022-11-06
    • 2019-07-22
    • 1970-01-01
    • 2017-09-29
    • 2019-05-11
    相关资源
    最近更新 更多