【问题标题】:What does virtual size of docker image mean?docker镜像的虚拟大小是什么意思?
【发布时间】:2015-09-22 13:23:41
【问题描述】:

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

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

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

【问题讨论】:

    标签: docker dockerhub


    【解决方案1】:

    “虚拟大小”是指组成图像的所有层的磁盘大小的总和。例如,如果您有两个图像,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

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

    层 (13)

    6d1ae97ee388924068b7a4797d995d57d1e6194843e7e2178e592a880bf6c7ad
    • 创建时间:格林威治标准时间 2015 年 12 月 4 日星期五 19:27:57
    • Docker 版本:1.8.3
    • 虚拟大小:125.1 MB(125115267 字节)
    • v2 Blob:sha256:d4bce7fd68df2e8bb04e317e7cb7899e981159a4da89339e38c8bf30e6c318f0
    • v2 内容长度:51.4 MB(51354256 字节)
    • v2 上次修改时间:格林威治标准时间 2015 年 12 月 4 日星期五 19:45:49
    8b9a99209d5c8f3fc5b4c01573f0508d1ddaa01c4f83c587e03b67497566aab9

    ...

    【讨论】:

      猜你喜欢
      • 2016-10-24
      • 2020-12-28
      • 1970-01-01
      • 1970-01-01
      • 2013-12-21
      • 2020-02-16
      • 1970-01-01
      • 2012-01-02
      • 2021-06-10
      相关资源
      最近更新 更多