Docker的图片大小与https://github.com/docker-library/repo-info上公布的大小不符

我从主要的默认dockerregistry中提取图像,而不添加任何东西给他们,所以我希望他们有确切的大小是在https://github.com/docker-library/repo-info ,但它是不是这样的。

例如:

$ docker pull tomcat:8.5-jre8 $ docker pull tomcat:8.5-jre8-alpine $ docker images REPOSITORY TAG IMAGE ID SIZE tomcat 8.5-jre8 7f855aeeaebf **365 MB** tomcat 8.5-jre8-alpine fa2fcc85fc1a **135 MB** 

宣布尺寸:

  • https://github.com/docker-library/repo-info/blob/master/repos/tomcat/tag-details.md#tomcat85-jre8 – 总大小: 145.5 MB

  • https://github.com/docker-library/repo-info/blob/master/repos/tomcat/tag-details.md#tomcat85-jre8-alpine – 总大小: 56.4 MB

因此,365 MB vs 145.5 MB和135 MB vs 56.4 MB,这种差异的原因是什么?

我不得不说,我使用overlay2作为存储驱动程序(但我刚刚检查使用aufs时,我有完全相同的大小和图像历史logging)。

如果它有助于了解尺寸:

 $ docker history tomcat:8.5-jre8-alpine IMAGE CREATED BY SIZE COMMENT fa2fcc85fc1a /bin/sh -c #(nop) CMD ["catalina.sh" "run"] 0 B <missing> /bin/sh -c #(nop) EXPOSE 8080/tcp 0 B <missing> /bin/sh -c set -e && nativeLines="$(catal... 0 B <missing> /bin/sh -c set -x && apk add --no-cache ... 16.6 MB <missing> /bin/sh -c #(nop) ENV TOMCAT_ASC_URL=http... 0 B <missing> /bin/sh -c #(nop) ENV TOMCAT_TGZ_URL=http... 0 B <missing> /bin/sh -c #(nop) ENV TOMCAT_VERSION=8.5.11 0 B <missing> /bin/sh -c #(nop) ENV TOMCAT_MAJOR=8 0 B <missing> /bin/sh -c set -ex; for key in $GPG_KEYS;... 126 kB <missing> /bin/sh -c #(nop) ENV GPG_KEYS=05AB331109... 0 B <missing> /bin/sh -c apk add --no-cache gnupg 10.1 MB <missing> /bin/sh -c #(nop) ENV LD_LIBRARY_PATH=/us... 0 B <missing> /bin/sh -c #(nop) ENV TOMCAT_NATIVE_LIBDI... 0 B <missing> /bin/sh -c #(nop) WORKDIR /usr/local/tomcat 0 B <missing> /bin/sh -c mkdir -p "$CATALINA_HOME" 0 B <missing> /bin/sh -c #(nop) ENV PATH=/usr/local/tom... 0 B <missing> /bin/sh -c #(nop) ENV CATALINA_HOME=/usr/... 0 B <missing> /bin/sh -c set -x && apk add --no-cache ... 103 MB <missing> /bin/sh -c #(nop) ENV JAVA_ALPINE_VERSION... 0 B <missing> /bin/sh -c #(nop) ENV JAVA_VERSION=8u111 0 B <missing> /bin/sh -c #(nop) ENV PATH=/usr/local/sbi... 0 B <missing> /bin/sh -c #(nop) ENV JAVA_HOME=/usr/lib/... 0 B <missing> /bin/sh -c { echo '#!/bin/sh'; echo 's... 87 B <missing> /bin/sh -c #(nop) ENV LANG=C.UTF-8 0 B <missing> /bin/sh -c #(nop) ADD file:3df55c321c1c8d7... 4.81 MB