This topic provides answers to commonly asked questions about the basic operations that you perform in the Container Registry service.

When I use a Container Registry Personal Edition instance to build an image on a server outside the Chinese mainland, it takes a long time to push the image to a region in the Chinese mainland. Why does this issue occur and how can I resolve it?

Pushing images from a region outside the Chinese mainland to a region in the Chinese mainland may be slow due to network issues if you use a Container Registry Personal Edition instance to build an image on a server outside the Chinese mainland. Solutions:
  • After the image layers are cached, you can build an image on a server in the Chinese mainland. This way, you do not need to push the image from a region outside the Chinese mainland to a region in the Chinese mainland.
  • You can use a Container Registry Enterprise Edition instance to build an image on a server outside the Chinese mainland. This way, the process of pushing an image from a region outside the Chinese mainland to a region in the Chinese mainland is not slowed down.

When I build an image, can I use a base image in a private repository that requires authentication?

No, you cannot use a base image in a private repository that requires authentication when you build an image. We recommend that you push the base image to an image repository in Container Registry.

When the system builds an image, can it pull the code of submodules from a Git code repository?

If the system detects submodules in the Git code repository, the system will attempt to pull the code of the submodules. If the system cannot pull the code of the submodules, it pulls the remaining code in the Git code repository. Container Registry can pull code only from submodules that meet the following requirements:
  • The submodules use HTTP or HTTPS URLs instead of SSH URLs. If a submodule uses an SSH URL, convert the SSH URL to an HTTP or HTTPS URL.
    The following code shows a submodule that uses an SSH URL. The code of the submodule cannot be pulled.
    [submodule "test/java"]
      path = /test/java
      url = git@github.com:zlseu-edu/simple-java-maven-app.git 
    Convert the SSH URL to an HTTP or HTTPS URL. In this example, an HTTPS URL is used.
    [submodule "test/java"]
      path = /test/java
      url = https://github.com/zlseu-edu/simple-java-maven-app.git
  • By default, the secret of the Git code repository is used to pull code from submodules. If you need additional permissions to pull code from submodules, obtain the permissions in advance.

Do Container Registry Personal Edition instances provide the public IP addresses and ports of the image repository and the server on which the system builds an image?

Container Registry Personal Edition instances do not provide the public IP addresses and ports of the image repository and the server on which the system builds an image. This is because the public IP addresses and ports may change when the architecture changes.

Why am I unable to use the account of Container Registry Personal Edition to log on to a repository of a Container Registry Enterprise Edition instance?

Container Registry Personal Edition and Enterprise Edition are isolated from each other. You can log on to an image repository of a Container Registry Enterprise Edition instance by using credentials. For more information, see Configure an access credential.

Why am I unable to push images to the image repositories of a Container Registry Enterprise Edition instance over the classic network?

For Container Registry Enterprise Edition instances, images cannot be pushed to their image repositories over the classic network. However, for Container Registry Personal Edition instances, images can be pushed to their image repositories over the classic network.

How are retention policies applied if multiple retention policies are configured for an image repository?

If multiple retention policies are configured for an image repository, the retention policies are applied separately. The most recent retention policy is first applied.

Can I push images to and pull images from a Container Registry Personal Edition instance on Alibaba Finance Cloud over the Internet?

No, you cannot push images to or pull images from a Container Registry Personal Edition instance on Alibaba Finance Cloud over the Internet. However, you can push images to a Container Registry Enterprise Edition instance on Alibaba Finance Cloud over the Internet.

Can I push images to and pull images from a Container Registry Personal Edition instance on Alibaba Gov Cloud over the Internet?

No, you cannot push images to or pull images from a Container Registry Personal Edition instance on Alibaba Gov Cloud over the Internet. However, you can push images to and pull images from a Container Registry Enterprise Edition instance on Alibaba Gov Cloud over the Internet.

How do I change the virtual private cloud (VPC) of a Container Registry Enterprise Edition instance?

You must remove the VPC that you no longer need and add the VPC that you do want. For more information about how to add a VPC, see Configure access over VPCs.

How do I change the GitLab account that is bound to a Container Registry instance?

On the Code Source page, unbind GitLab. Log on to GitLab and create a code repository. Then, bind GitLab on the Code Source page. For more information about how to bind GitLab accounts, see Bind a source code hosting platform.

How do I recover an accidentally deleted namespace of a Container Registry Personal Edition instance?

You cannot recover a namespace of a Container Registry Personal Edition instance after the namespace is deleted.

Can I push images of multiprocessor architectures to Container Registry Enterprise Edition instances?

Yes, you can push images of multiprocessor architectures to Container Registry Enterprise Edition instances. The processor architectures of the images will be displayed.

What are the limits on the base image in a Dockerfile that is used to build images?

Before you build an image by using a Container Registry Personal Edition instance, make sure that the base image in the Dockerfile meets the following requirements:
  • The base image is publicly accessible.
  • The base image is a public image that belongs to the same account and region as the Container Registry Personal Edition instance.
  • The base image cannot be a private image of the Container Registry Personal Edition instance regardless of the region.
  • The base image cannot be pulled from a VPC regardless of the region.
  • The base image must not be an image provided by a third party.

For example, you can specify a publicly accessible image of the Container Registry Personal Edition instance as the base image in the Dockerfile. However, you cannot specify an image that is provided by a third party.

Why is the error message Error: unknown command "chart" for "helm" returned when I am using Helm 3.X to run commands?

Before you use a Helm 3.X client to run commands, run the export HELM_EXPERIMENTAL_OCI=1 command to enable the experimental feature of Helm 3.X. Otherwise, the error Error: unknown command "chart" for "helm" is reported. For more information, see Push and pull Helm charts.