Help Center> Software Repository for Container> User Guide> Image Management> Uploading an Image Through a Container Engine Client (Recommended)
Updated on 2023-08-03 GMT+08:00

Uploading an Image Through a Container Engine Client (Recommended)

Scenario

Uploading an image through the client is to run Docker commands on the machine where container engine client is installed to push the image to an image repository of SWR.

If your container engine client is an ECS or CCE node, you can push an image over two types of networks.

  • If your client and the image repository are in the same region, you can push an image over private networks.
  • If your client and the image repository are in different regions, you can push an image over public networks and the client needs to be bound to an EIP.

Notes and Constraints

  • Each image layer uploaded through the client cannot exceed 10 GB.
  • Your container engine client version must be 1.11.2 or later.

Prerequisite

You have created an organization in SWR. For details, see Creating an Organization.

Procedure

  1. Building a Container Image or Importing an Image File.
  2. Access SWR.

    1. Log in to the SWR console.
    2. In the navigation pane on the left, choose Dashboard and click Generate Login Command in the upper right corner. On the displayed page, click to copy the login command.
      Figure 1 Generating a login command
      • A temporary login command is valid for 24 hours. For details about how to obtain a login command that will remain valid for a long term, see Obtaining a Long-Term Valid Login Command. After you obtain a long-term valid login command, your temporary login commands will still be valid as long as they are in their validity periods.
      • The domain name at the end of the login command is the image repository address. Record the address for later use.
    3. Run the login command on your container engine client.

      The message Login Succeeded will be displayed upon a successful login.

  3. Run the following command on the device where the container engine is installed to label the Nginx image:

    docker tag [Image name 1:tag 1][Image repository address]/[Organization name]/[Image name 2:tag 2]

    In the preceding information:

    • [Image name 1:tag 1]: Replace it with the actual name and tag of the image to be uploaded.
    • [Image repository address]: You can query the address on the SWR console, that is, the domain name at the end of the login command in 2.b.
    • [Organization name]: Replace it with the name of the organization created.
    • [Image name 2:tag 2]: Replace it with the desired image name and tag.

    Examples:

    docker tag nginx:v1 swr.ap-southeast-1.myhuaweicloud.com/cloud-develop/nginx:v1

  4. Run the following command to push the image to the image repository:

    docker push [Image repository address]/[Organization name]/[Image name 2:tag 2]

    Examples:

    docker push swr.ap-southeast-1.myhuaweicloud.com/cloud-develop/nginx:v1

    The following information will be returned upon a successful push:

    The push refers to repository [swr.ap-southeast-1.myhuaweicloud.com/cloud-develop/nginx:v1]
    fbce26647e70: Pushed 
    fb04ab8effa8: Pushed 
    8f736d52032f: Pushed 
    009f1d338b57: Pushed 
    678bbd796838: Pushed 
    d1279c519351: Pushed 
    f68ef921efae: Pushed 
    v1: digest: sha256:0cdfc7910db531bfa7726de4c19ec556bc9190aad9bd3de93787e8bce3385f8d size: 1780

    To view the pushed image, refresh the My Images page.