【问题标题】:Default location where docker images are saved on Windows 10Windows 10 上保存 docker 图像的默认位置
【发布时间】:2021-12-06 17:11:36
【问题描述】:

我在 Windows 10 Pro 上安装了 docker,并创建/提取了几个图像,其中一些图像大到 953 MB。

不过,我很想知道所有图像都存储在哪个目录中。

我检查了 Hyper-V 管理器中的 Virtual Hard Disks 和 Virtual Machines 目录,但它们不超过 500 KB

下面是相同的快照。

我的 docker 是使用默认设置安装的。

在阅读了一些论坛后,我还检查了以下目录,例如 C:\ProgramData\Docker 和 C:\Users\Public\Documents\Hyper-V,但它们的大小为 0 字节。

我使用的是 Windows 10 专业版

我确实检查了一个图像,但它不包含任何指示 Windows 上的图像文件的数据。见下文:

C:\Users\HOME>docker image inspect myfirstcont

"GraphDriver": {
    "Data": {
        "LowerDir": "/var/lib/docker/overlay2/rtdgjoc6gg00v0l0h381fy4gw/diff:/var/lib/docker/overlay2/squ8lhqlwajh2yv1ecc9yltaj/diff:/var/lib/docker/overlay2/819dca1c2bb7ce54c13c0c7421e5804538a9605b4daf0f8ab52a47024cb96d29/diff:/var/lib/docker/overlay2/12c27601a0dc2397cf87405d2ece5757d5f6d45e1c38e1c58cef4de1964ea04f/diff:/var/lib/docker/overlay2/d0862b28727db9ac5a3fed6eb3caad3968b8824919c4b5de742a25ca89b7b1dd/diff:/var/lib/docker/overlay2/c82c5574cb3aac2600976a38093c98e575c6d3e32aee7b9e548dc4f8ed3678b9/diff:/var/lib/docker/overlay2/5461792a7a73055859f45c624450a4d06f212e4437d9d1f81a012a2fa932a620/diff:/var/lib/docker/overlay2/f130395cf64a6182fdb6bd8f18e4a64f5763856464cded60f01214b8d695e56c/diff:/var/lib/docker/overlay2/a122314ee57fd42eb80b9d367cc579402afd36d0484579b97b0074d692cb0ec2/diff:/var/lib/docker/overlay2/e2c0039edd02283fce0f7e7a3f3bd798d2597b7c26ad85280db804d83697d238/diff:/var/lib/docker/overlay2/0bf984e8907a11ac4f000f1d7909f61dd6aac497517c6fb2a6947cf683ad3993/diff",
        "MergedDir": "/var/lib/docker/overlay2/lv5akhtcyzkioljls2bfolgdu/merged",
        "UpperDir": "/var/lib/docker/overlay2/lv5akhtcyzkioljls2bfolgdu/diff",
        "WorkDir": "/var/lib/docker/overlay2/lv5akhtcyzkioljls2bfolgdu/work"
    },
    "Name": "overlay2"
},

您能否建议我在哪里可以找到我拉取的所有 docker 图像的图像文件?

【问题讨论】:

  • 您的 docker 使用的是 WSL 还是 Hyper-V ?
  • @Bala 使用 WSL
  • 我找到了以下文件 C:\Users\HOME\AppData\Local\Docker\wsl\data\ext4.vhdx (9GB) 和 C:\Users\HOME\AppData\Local\Docker\wsl\distro\ext4.vhdx (1 GB) 但是我希望查看单个图像并且我希望手动移动一些选定的图像而不是一次全部移动。

标签: windows docker diskspace image-size


【解决方案1】:

在将 WSL2 与 Docker Desktop 结合使用时,会创建一个名为 docker-desktop-data 的新发行版,这也是存储所有图像层的地方。您可以在\\wsl$\docker-desktop-data\version-pack-data\community\docker\overlay2 下找到所有图层。

您必须通过docker image inspect <image_id> 查找GraphDriver.Data 以查找与您的 docker 镜像相关的目录。

【讨论】:

  • 我在我的 Windows 上寻找一个特定的 docker 映像,但该映像的 GraphDriver.Data 没有任何 Windows 路径,而只提到了 Unix 路径。因此,您的答案无法实现将单个图像作为 Windows 文件。将原始帖子更新为GraphDriver.Data
  • @Ashar 将图像作为“Windows 文件”获取是不可能的,这不是 Docker 存储图像的方式。它们只是散布在多个镜像层中的一组指令,容器就是根据这些指令构建的。
  • GraphDriver.Data下的目录是存储在\\wsl$\docker-desktop-data\version-pack-data\community\docker\overlay2下的镜像层,它们只显示为Unix路径。当你查看GraphDriver.Data.UpperDir的SHA256时,你会发现上面提到的Docker发行版下的镜像层。
猜你喜欢
  • 1970-01-01
  • 2021-05-23
  • 2021-12-26
  • 2013-02-07
  • 2017-07-04
  • 1970-01-01
  • 1970-01-01
  • 2020-12-25
相关资源
最近更新 更多