
# 为什么通过客户端和页面上传的镜像大小不一样？
#### 问题描述
假设在本地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** 。
   
   ![](https://support.huaweicloud.com/swr_faq/zh-cn_image_0000001926355885.png "点击放大")
   
2. 在本地Docker客户端将镜像打包为tar格式，将nginx.tar下载至本地后，通过页面方式上传至SWR镜像仓库，查询大小为**23.2MB** 。
   
   ![](https://support.huaweicloud.com/swr_faq/zh-cn_image_0000001880481212.png "点击放大")
   
可以发现，通过客户端和页面上传的镜像大小不一样。
#### 原因分析
使用客户端上传的镜像每一层layer都进行了tgz压缩，而页面上传的镜像包是经过docker打包的，每一层layer只进行了打包，没有压缩。所以两种方式上传的镜像大小显示会不一致。
