当您键入 docker images
它将向您显示本地可用的图像和其他信息。此信息的一部分是虚拟大小。那究竟是什么?
我在 GitHub Issues #22 on docker 中找到了一点解释,但这对我来说仍然不清楚。我真正想知道的是,要下载的字节数以及图像在我的硬盘驱动器上需要多少字节。
此外,Docker Hub 2.0 还有另一个信息。当您查看 Tags图像的页面显示了另一个值。至少与 docker images
给出的信息相比,这似乎总是小得多。 .
最佳答案
“虚拟大小”是指组成图像的所有层的磁盘大小的总和。例如,如果您有两个图像,app-1
和 app-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/