All Products
Search
Document Center

Container Registry:FAQ about basic operations of Container Registry

Last Updated:Apr 01, 2024

This topic provides answers to commonly asked questions about the basic operations that you can perform when you use Container Registry.

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 affected by cross-region transmission.

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 attempts to pull the code of the submodules. If the system fails to 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. 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?

No, 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 access credentials. For more information, see Configure access credentials for a Container Registry Enterprise Edition instance.

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 VPC of a Container Registry Enterprise Edition instance?

You must delete the virtual private cloud (VPC) that you no longer need and then add the desired VPC. For information about how to add a VPC, see Configure a VPC ACL.

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 information about how to bind GitLab, 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 are displayed in the image list.

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 a publicly-accessible image that does not require authorization.

  • The base image is a private image that is accessible over the Internet and 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 over a VPC regardless of the region.

  • The base image cannot be provided by a third party.

For example, you can specify a publicly-accessible Internet 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" reported when I use Helm 3 to run commands?

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