Currently, SWR does not provide an API for pushing images. You can push images using a container engine client. For details, see .
Symptom
Assume that a nginx image v2.0.0 is created on the local Docker client. The docker images command is run to query SIZE of the image. The size is 22.8 MB.
$ docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEnginx v2.0.0 22f2bf2e2b4f 9 days ago 22.8MB
The size of the image pushed through the client is different from that of the image uploaded through the SWR console.
Possible Cause
Image layers are compressed into .tgz packages when images are pushed to SWR using a container engine client, whereas when they are uploaded through the SWR console, they are only packed without being compressed. Therefore, the same image will be of different sizes when it is uploaded in these two different ways.
SWR has no restriction on the kernel architecture of images. There is no difference between pushing an Arm-based image and an x86-based image to SWR.
HTTPS is used.
Yes. The existing image will be overwritten.
If you use the container engine client to push images to SWR, each image layer cannot exceed 50 GB.
To avoid mutual interference between tenants when they push SWR images, the image push traffic for a single tenant is limited to 20 QPS. The traffic exceeding this value will be blocked. In this case, Docker will receive 503 and automatically retry traffic control requests.
No.