Pushing an Image Through a Container Engine Client
Scenario
You can run docker push (Docker) or ctr push (containerd) on the server where the container engine client is installed to push an image to SWR.
Notes and Constraints
- Each image layer cannot exceed 10 GB.
- The Docker version must be between 1.11.2 (included) and 24.0.9 (included).
Prerequisites
You have created an organization in SWR. For details, see Creating an Organization.
Docker
Take the nginx:v1 image built in Basics of Docker as an example.
- Access SWR.
- Log in to the SWR console and then the VM running Docker as the root user.
- 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.
- 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 Docker 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.
- Run the docker login command on your Docker client (a device that has Docker installed).
The message "Login Succeeded" will be displayed upon a successful login.
- Run the following command on the device where Docker 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 command:
- [Image name 1:tag 1]: Replace it with the actual name and tag of the image to be pushed.
- [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 1.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.
Example:
docker tag nginx:v1 {Image repository address}/group/nginx:v1
- Push the image to the image repository by running the following command:
docker push [Image repository address]/[Organization name]/[Image name 2:tag 2]
Example:
docker push {Image repository address}/group/nginx:v1
The following information will be returned upon a successful push:
6d6b9812c8ae: Pushed 695da0025de6: Pushed fe4c16cbf7a4: Pushed v1: digest: sha256:eb7e3bbd8e3040efa71d9c2cacfa12a8e39c6b2ccd15eac12bdc49e0b66cee63 size: 948
To view the pushed image, refresh the My Images page.
containerd
- Log in to the SWR console.
- In the navigation pane, choose My Images and click the name of your image.
- On the Pull/Push tab page, click Generate upload instructions and copy the image push command.
The command is only valid for six hours after it is generated. To obtain a long-term valid command, see Obtaining a Long-Term Valid containerd Pull/Push Command.
- Log in to the VM running containerd as the root user.
- Run the command copied in Step 3 (replace {Tag} with the new image tag).
- Check whether the image is pushed successfully.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot