更新时间:2024-05-09 GMT+08:00

镜像上传

如何通过API上传镜像到SWR?

SWR暂时没有开放镜像上传的API,您可以使用docker push或页面方式上传镜像。

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

问题描述

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

$ docker images
REPOSITORY                         TAG             IMAGE ID       CREATED         SIZE
nginx                              v2.0.0          22f2bf2e2b4f   9 days ago      22.8MB
  1. 通过客户端(即执行docker push命令)上传该镜像至SWR镜像仓库,查询大小为9.5MB
  2. 在本地Docker客户端将镜像打包为tar格式,将nginx.tar下载至本地后,通过页面方式上传至SWR镜像仓库,查询大小为23.2MB

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

原因分析

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

SWR镜像仓库支持ARM镜像上传么?

SWR镜像仓库对镜像的内核架构是没有任何限制的,您上传ARM架构的镜像和上传x86的镜像是没有区别的,直接上传即可。

docker push使用什么协议将镜像推送到SWR?

HTTPS协议。

同名同tag的镜像上传后会覆盖之前的镜像吗?

会覆盖,保留最新上传的镜像。

SWR单个layer的最大限制是多少?

使用客户端向SWR上传镜像,镜像的每个layer大小不能超过10G。

SWR公网上传单租户流控限制是多少?

为了确保SWR镜像上传租户间不会互相影响,当前对单个租户流控为镜像层上传20QPS,超过后会被限流,docker会收到503并会自动重试限流拦截的请求。

SWR支持断点续传镜像文件吗?

暂不支持。