Docker镜像的虚拟大小是什么意思?
当你键入docker images
它会显示哪些图像是本地可用的和其他信息。 部分信息是虚拟大小 。 那到底是什么?
我在Docker的GitHub第二十二号问题中find了一点小小的解释,但这个问题仍然不清楚。 我真正想知道的是,要下载的字节量以及映像在我的硬盘驱动器上需要的字节数。
此外,Docker Hub 2.0还有其他信息。 当您查看图片的“ 标签”页面时,会显示另一个值。 至less这似乎总是比docker images
给出的信息小得多。
“虚拟大小”是指图像所组成的所有层的磁盘大小的总和。 例如,如果您有两个图像, app-1
和app-2
,都基于一个共同的distro
图像/图层,其总大小为100MB, app-1
增加了10MB,但是app-2
增加了额外的20MB ,虚拟大小将分别为110MB和120MB,但是由于基础层在两者之间共享,所以总的磁盘使用量将只有130MB。
由于在传输过程中将Gzip压缩应用于各层,因此传输大小将会减less(大多数情况下相当多)。
https://github.com/docker-library/docs/blob/162cdda0b66dd62ea1cc80a64cb6c369e341adf4/irssi/tag-details.md#irssilatest中提供的扩展详细信息可能会使这个更具体明显。 如您所见, irssi:latest
的虚拟大小(所有磁盘层大小的总和)为261.1MB,但“Content-Length”(压缩大小在途)仅为97.5MB,假设你已经没有任何图层了,当你很有可能已经下载了第一层,这个图层占据了虚拟尺寸的125.1MB和51.4MB的“Content-Length”(你可能拥有它已经是因为顶层是debian:jessie
,这是顶层图像的通用基础)。
irssi:latest
- 总虚拟大小:261.1 MB(261122797字节)
- Total v2 Content-Length:97.5 MB(97485603 bytes)
层(13)
6d1ae97ee388924068b7a4797d995d57d1e6194843e7e2178e592a880bf6c7ad
- 创build于:2015年12月04日星期五19:27:57 GMT
- Docker版本:1.8.3
- 虚拟大小:125.1 MB(125115267字节)
- v2 Blob:
sha256:d4bce7fd68df2e8bb04e317e7cb7899e981159a4da89339e38c8bf30e6c318f0
- v2内容长度:51.4 MB(51354256个字节)
- v2 Last-Modified:Fri,2015年12月4日19:45:49 GMT
8b9a99209d5c8f3fc5b4c01573f0508d1ddaa01c4f83c587e03b67497566aab9
…