Updated on 2026-07-10 GMT+08:00

Image Push

How Do I Push an Image to SWR by Calling an API?

Currently, SWR does not provide an API for pushing images. You can push images using a container engine client.

Why Is an Image Pushed to SWR Using a Container Engine Client Different in Size from One Uploaded Through the SWR Console?

Symptom

Assume that an image whose name is nginx and tag is 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 images
REPOSITORY                         TAG             IMAGE ID       CREATED         SIZE
nginx                              v2.0.0          22f2bf2e2b4f   9 days ago      22.8MB
  1. Run docker push to push the image to SWR. The size of the image is 9.5 MB.
  2. On the local Docker client, pack the image into a .tar package. Download the nginx.tar package to the local host, and upload the package to SWR. The size of the package is 23.2 MB.

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.

Can I Push Arm-based Container Images to SWR?

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.

What Protocol Is Used to Push Images to SWR When I Run the docker push Command?

HTTPS is used.

Will an Existing Image Be Overwritten If I Push an Image That Has the Same Name and Tag with It?

Yes. The existing image will be overwritten.

What Is the Maximum Size of an Image Layer?

If you use the container engine client to push images to SWR, each image layer cannot exceed 50 GB.

What Is the Rate Limit for a Tenant to Push Images over the Internet?

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 the traffic control request.

Does SWR Support Resumable Image Push?

No.

What Can I Do If the Upload Is Slow or Suspended Due to Unstable Internet Connections When I Push Images to SWR over the Internet?

You can adjust OS parameters to optimize the upload speed.

Application scenario: Linux kernel 4.9 or later (such as EulerOS 2.9, HCE 2.0, Ubuntu 18, and Rocky Linux 8+)

Procedure

  1. Log in to the target host where the image is to be uploaded and switch to the root user.
  2. Run the following commands to optimize network transmission performance:
# Set the default queueing discipline (qdisc) of the network core to fair queuing.
sysctl -w net.core.default_qdisc=fq    
# Configure TCP congestion control algorithm parameters in the Linux kernel.
sysctl -w net.ipv4.tcp_congestion_control=bbr    
# Set the size of the TCP send buffer in the Linux kernel.
sysctl -w net.ipv4.tcp_wmem="4096 163840 41943040"  

What Do I Do If the Error Message "ERR_BLOB_OUT_OF_MEMORY" Is Displayed When I Push Images in Batches?

Symptom:

A user clicked the Upload button on the SWR console to push multiple image packages in batches, the error message "(failed)net::ERR_BLOB_OUT_OF_MEMORY" was displayed, indicating that the upload failed.

Solution:

  • Clear the browser cache.
    1. Close the current browser tab.
    2. Clear the browser cache, including cookies and site data.
    3. Open the browser again and log in to the SWR console.
    4. Push the images again.
  • For large images, push them through the client. For details, see .