docker - docker镜像的虚拟大小是什么意思?

标签 docker dockerhub

当您键入 docker images它将向您显示本地可用的图像和其他信息。此信息的一部分是虚拟大小。那究竟是什么?

我在 GitHub Issues #22 on docker 中找到了一点解释,但这对我来说仍然不清楚。我真正想知道的是,要下载的字节数以及图像在我的硬盘驱动器上需要多少字节。

此外,Docker Hub 2.0 还有另一个信息。当您查看 Tags图像的页面显示了另一个值。至少与 docker images 给出的信息相比,这似乎总是小得多。 .

最佳答案

“虚拟大小”是指组成图像的所有层的磁盘大小的总和。例如,如果您有两个图像,app-1app-2 , 并且两者都基于一个共同的 distro总大小为 100MB 的图像/层和 app-1增加了 10MB 但 app-2添加额外的 20MB,虚拟大小将分别为 110MB 和 120MB,但总磁盘使用量仅为 130MB,因为基础层在两者之间共享。

由于在传输过程中对层应用了 gzip 压缩,传输大小将会更小(在大多数情况下会减少很多)。

https://github.com/docker-library/docs/blob/162cdda0b66dd62ea1cc80a64cb6c369e341adf4/irssi/tag-details.md#irssilatest 中提供的详细信息可能会使这一点更加明显。如您所见,irssi:latest 的虚拟大小(所有磁盘层大小的总和)是 261.1MB,但“内容长度”(传输中的压缩大小)只有 97.5MB,这是假设您还没有任何层,而您很可能已经下载了第一层,它占虚拟大小的 125.1MB 和“内容长度”的 51.4MB(很可能您已经拥有它,因为顶层是 debian:jessie,这是顶级图像的通用基础)。

irssi:latest

  • Total Virtual Size: 261.1 MB (261122797 bytes)
  • Total v2 Content-Length: 97.5 MB (97485603 bytes)

Layers (13)

6d1ae97ee388924068b7a4797d995d57d1e6194843e7e2178e592a880bf6c7ad
  • Created: Fri, 04 Dec 2015 19:27:57 GMT
  • Docker Version: 1.8.3
  • Virtual Size: 125.1 MB (125115267 bytes)
  • v2 Blob: sha256:d4bce7fd68df2e8bb04e317e7cb7899e981159a4da89339e38c8bf30e6c318f0
  • v2 Content-Length: 51.4 MB (51354256 bytes)
  • v2 Last-Modified: Fri, 04 Dec 2015 19:45:49 GMT
8b9a99209d5c8f3fc5b4c01573f0508d1ddaa01c4f83c587e03b67497566aab9

...

关于docker - docker镜像的虚拟大小是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32718090/

相关文章:

java - 无法在 Windows 10 中的 Docker 上运行 Bamboo 构建规范

docker - ` docker attach `附加到哪个进程?

docker - 如何将私有(private)组织镜像从 docker hub 部署到 kubernetes

docker - Wercker deploy 为 docker push 返回 404

docker - 从 Docker Hub 中删除图像标签?

docker - 无法在 docker 中提取私有(private)仓库

node.js - 如何链接两个docker容器?

amazon-web-services - 如何从 Docker 镜像中的 AWS S3 注入(inject)工件?

angular - Angular 路由在nginx docker容器中不起作用

docker - 无法运行从 ISO 创建的 docker 镜像