文档首页/ 容器镜像服务 SWR/ 常见问题/ 其他/ 为什么通过客户端和页面上传的镜像大小不一样?
更新时间:2024-10-21 GMT+08:00

为什么通过客户端和页面上传的镜像大小不一样?

问题描述

假设在本地Docker客户端上制作了一个nginx镜像,版本号为v5,使用docker images命令查询SIZE为22.8MB

$ docker images
REPOSITORY                         TAG             IMAGE ID       CREATED         SIZE
nginx                              v5          22f2bf2e2b4f   9 days ago      22.8MB
  1. 通过客户端(即执行docker push命令)上传该镜像至SWR镜像仓库,查询大小为9.5MB

  2. 在本地Docker客户端将镜像打包为tar格式,将nginx.tar下载至本地后,通过页面方式上传至SWR镜像仓库,查询大小为23.2MB

可以发现,通过客户端和页面上传的镜像大小不一样。

原因分析

使用客户端上传的镜像每一层layer都进行了tgz压缩,而页面上传的镜像包是经过docker打包的,每一层layer只进行了打包,没有压缩。所以两种方式上传的镜像大小显示会不一致。