All Products
Search
Document Center

Container Registry:Push images to and pull images from an image repository of a Container Registry Personal Edition instance

Last Updated:Oct 09, 2024

Docker is a containerized application platform that does not provide image hosting capabilities. You can push Docker images to image repositories of Container Registry Personal Edition instances to use basic Container Registry features and image hosting capabilities. Other users can also pull your Docker images from the image repositories of your Container Registry Personal Edition instances.

Prerequisites

Step 1: Obtain the username that you can use to log on to the Container Registry Personal Edition instance

  • If you use an Alibaba Cloud account, the name of the Alibaba Cloud account is the username that you use to log on to the Container Registry Personal Edition instance.

  • If you use a Resource Access Management (RAM) user, the string before aliyundoc.com is the username that you use to log on to the Container Registry Personal Edition instance. For example, if the name of your RAM user is 28768383240243****@aliyundoc.com, the username that you use to log on to the Container Registry Personal Edition instance is 28768383240243****.

Step 2: Set a password that you can use to log on to the Container Registry Personal Edition instance

Note

The first time you log on to the Container Registry console, you must set a logon password for your Container Registry Personal Edition instance to facilitate image uploads and downloads.

  • If you log on by using an Alibaba Cloud account, you must set a logon password.

  • If you log on by using a RAM role, you must call the necessary operation to query a temporary account and password. For more information, see GetAuthorizationToken.

  1. Log on to the Container Registry console.

  2. Click Reset Docker Login Password.

    Note

    If you forget the password, you can use an access credential to reset the password.

  3. In the Reset Docker Login Password dialog box, configure the Password and Confirm Password parameters and click Confirm.

Step 3: Create a namespace

You can manage a collection of repositories in a namespace. For example, you can manage permissions on repositories and modify repository attributes in a namespace.

  1. Log on to the Container Registry console.

  2. In the top navigation bar, select a region.

  3. In the left-side navigation pane, click Instances.

  4. On the Instances page, click the Personal Edition instance that you want to manage.

  5. On the management page of the Container Registry Personal Edition instance, choose Repository > Namespace in the left-side navigation pane.

  6. On the Namespace page, click Create Namespace.

  7. In the Create Namespace dialog box, enter a name for the namespace and click Confirm.

Step 4: Create an image repository

  1. Log on to the Container Registry console.

  2. In the left-side navigation pane, click Instances.

  3. On the Instances page, click the Personal Edition instance that you want to manage.

  4. On the management page of the Container Registry Personal Edition instance, choose Repository > Repositories in the left-side navigation pane.

  5. On the Repositories page, click Create Repository.

  6. In the Repository Info step of the Create Repository wizard, configure the Namespace, Repository Name, Repository Type, Summary, and Description parameters, and then click Next.

    Note

    The repository name must be 2 to 64 characters in length and can contain lowercase letters, digits, underscores (_), hyphens (-), and periods (.). The name cannot start or end with an underscore (_) or contain forward slashes (/).

  7. In the Code Source step, configure the Code Source, Build Settings, and Build Rules parameters, and then click Create Repository.

    Parameter

    Description

    Code Source

    The code source.

    Important

    Before you select a code source, make sure that the instance is bound to a source code hosting platform. For more information, see Bind a source code hosting platform.

    Build Settings

    • Automatically Build Images When Code Changes: The building rule is automatically triggered when code is committed from a branch.

    • Build with Servers Deployed Outside Chinese Mainland: Images are built in a data center outside the Chinese mainland and then pushed to the image repository in the specified region.

    • Build Without Cache: The system pulls the base image each time an image is to be built. This may slow down the building process.

    Build Rules

    After you create the image repository, go to the image building page to create image building rules. For more information, see Create a repository and build images.

Step 5: Push and pull an image

To continuously improve user experience and optimize resource management, Container Registry adjusted the creation process of Personal Edition instances. The access domain names of Container Registry Personal Edition instances of the new version are also changed. For more information, see Limits on Personal Edition instances of the new version. You can select image push and pull methods based on the version of your Container Registry Personal Edition instance.

Container Registry Personal Edition instance of the new version

  1. Run the following command to log on to the Container Registry Personal Edition instance:

    docker login --username=<Username that you use to log on to the Container Registry Personal Edition instance> crpi-xxxx.cn-<Region ID of the Container Registry Personal Edition instance>.personal.cr.aliyuncs.com

    Enter the logon password that you set in Step 2: Set a password that you can use to log on to the Container Registry Personal Edition instance as prompted. If login succeeded is displayed, the logon is successful.

  2. Push an image.

    1. Run the following command to tag the image:

      docker tag <Image ID> crpi-xxxx.cn-<Region ID of the Container Registry Personal Edition instance>.personal.cr.aliyuncs.com/<Namespace name>/<Image repository name>:<Image tag>
    2. Run the following command to push the image to the image repository on the Container Registry Personal Edition instance:

      docker push crpi-xxxx.cn-<Region ID of the Container Registry Personal Edition instance>.personal.cr.aliyuncs.com/<Namespace name>/<Image repository name>:<Image tag>

      On the Repositories page, click the name of the image repository. On the page that appears, click Tags. If the image name is displayed on the Tags page, the image is pushed to the image repository.

  3. Run the following command to pull an image:

    docker pull crpi-xxxx.cn-<Region ID of the Container Registry Personal Edition instance>.personal.cr.aliyuncs.com/<Namespace name>/<Image repository name>:<Image tag>

    Run the docker images command. If the image name is displayed in the command output, the image is pulled from the image repository.

Container Registry Personal Edition instance of the old version

  1. Run the following command to log on to the Container Registry Personal Edition instance:

    docker login --username=<Username that you use to log on to the Container Registry Personal Edition instance> registry.cn-<Region ID of the Container Registry Personal Edition instance>.aliyuncs.com

    Enter the logon password that you set in Step 2: Set a password that you can use to log on to the Container Registry Personal Edition instance as prompted. If login succeeded is displayed, the logon is successful.

  2. Push an image.

    1. Run the following command to tag the image:

      docker tag <Image ID> registry.cn-<Region ID of the Container Registry Personal Edition instance>.aliyuncs.com/<Namespace name>/<Image repository name>:<Image tag>
    2. Run the following command to push the image to the image repository on the Container Registry Personal Edition instance:

      docker push registry.cn-<Region ID of the Container Registry Personal Edition instance>.aliyuncs.com/<Namespace name>/<Image repository name>:<Image tag>

      On the Repositories page, click the name of the image repository. On the page that appears, click Tags. If the image name is displayed on the Tags page, the image is pushed to the image repository.

  3. Run the following command to pull an image:

    docker pull registry.cn-<Region ID of the Container Registry Personal Edition instance>.aliyuncs.com/<Namespace name>/<Image repository name>:<Image tag>

    Run the docker images command. If the image name is displayed in the command output, the image is pulled from the image repository.

What to do next

Delete multiple image tags at a time

  1. Log on to the Container Registry console.

  2. In the top navigation bar, select a region.

  3. In the left-side navigation pane, click Instances.

  4. On the Instances page, click the Personal Edition instance that you want to manage.

  5. On the management page of the Container Registry Personal Edition instance, choose Repository > Repositories. On the Repositories page, click the name of the repository whose tags you want to delete.

  6. On the details page of the repository, click Tags in the left-side navigation pane.

  7. On the Tags page, select the tags that you want to delete and then click Batch Delete.

  8. In the dialog box that appears, select I am sure to delete the images of these tags and then click OK.