Docker图像的虚拟大小是什么意思?

时间:2015-09-22 13:23:41

标签: docker dockerhub

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

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

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

1 个答案:

答案 0 :(得分:3)

“虚拟大小”是指由图像组成的所有图层的磁盘大小的总和。例如,如果您有两个图像,app-1app-2,并且两者都基于总大小为100MB的常见distro图像/图层,并且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

     
      
  • 总虚拟大小:261.1 MB(261122797字节)
  •   
  • 总v2内容长度:97.5 MB(97485603字节)
  •   
     

图层(13)

     6d1ae97ee388924068b7a4797d995d57d1e6194843e7e2178e592a880bf6c7ad      
      
  • 创建时间:2015年12月4日星期五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,04 Dec 2015 19:45:49 GMT
  •   
     8b9a99209d5c8f3fc5b4c01573f0508d1ddaa01c4f83c587e03b67497566aab9      

...