For AI agents: a markdown representation of this page is available at https://container-registry.com/docs/2.16/administration-manual/replication/index.md. The site index is at https://container-registry.com/llms.txt.

Artifact Replication Management

In Container Registry, artifacts – images and helm charts – can be pushed or pulled between registries in bulks, even between those that are outside of our platform. This process is known as replication. Artifacts are replicated based on a filter: a replication rule.

The external registry does not need to be Harbor-based.

A replication can be initiated manually but its main advantage is that it can be set to run on a schedule or trigger. Configuring a replication – manual or rule-based automated – includes two major steps:

  • creating a replication endpoint;
  • creating a replication rule. Manual replications still need a rule but must be initiated by hand.

Why Use Container Registry as a Proxy Cache

Container Registry can be used as a proxy cache for images originally stored on Docker Hub.
There are a few reasons why you would avoid pulling images from Docker Hub directly.

Docker Rate Limit

Docker Hub has a download limit rate which is defined differently for different subscription plans. In our blog post, we explain why you can hit the limits quite quickly and which consequences it may have for your workflows.
One of the main reasons why your rate limit may get exhausted is that you often make duplicate (triplicate, etc.) pull requests. A proxy cache prevents duplicate requests. It caches an image that was already pulled and allows you to pull it again from its “cache memory” without sending the actual pull request to Docker Hub.
Nevertheless, you can be sure that you get the latest image version. The proxy accessed the canonical repository and checks if there are newer layers. If yes, then it will pull them, meaning that this request will contribute to the exhaustion of your limit.

To explain it in a different way:
pulling an image from Docker Hub means sending a GET request, whereas the proxy only sends a HEAD request which does not count into the rate limit exhaustion.

Less Bandwidth and no Throttling

Sending too many pull requests may eat into your own bandwidth and slow down your network, as well as lead to your being throttled by the server that hosts the original registry.

Have Better Control and Enjoy Better Security

By using Container Registry, you avoid putting all eggs in one basket: fetching all your images from one place. The opposite situation may make you subject to outages and other failures.

Overcome Outages and Air Gaps

An outage means that you are left without Internet access. But sometimes your access is restricted permanently. To overcome this, you can use proxy cache: it will access the canonical repository for you and supply you with the images you need. Your own machine remains disconnected from vulnerable public networks.