一、背景
上传到 hub 上的镜像的体积显著小于本地的镜像(1:3),不知道是怎么做到的。
二、原因
是因为把镜像用 gzip进行了压缩,在 hub 上存储的是压缩后的包
https://stackoverflow.com/questions/58028894/docker-image-size-discrepency-between-local-and-remote
https://docs.docker.com/engine/reference/commandline/save/
换句话说 直接 docker push
直接会推送一个压缩包,从 hub
使用镜像的时候实际是从压缩包读取镜像
三、 实验
本地使用 docker images 查看是 5.1GB 大小的镜像,
经过以下的压缩命令,压缩后得到一个 1.6GB 的压缩包
docker save your_image | gzip > your_image.tar.gz