smeeb
smeeb

Reputation: 29557

Making the Docker Registry HA

Please note: This is a very similar question as this one, but I assert this is not a dupe! That other question was clearly based on the (older) Python-based Docker registry, not the latest one that is written in GoLang and seems to be fairly different!


I just spent a few hours reading the docs for setting up a private Docker Registry and have it running on a remote VM with the following characteristics:

So far so good. But now I want to make it HA, and am shocked that the docs don't seem to make any mention of it. In the old Python docs there is a whole section devoted to HA, but I'm leery of following them because the newer (GoLang-based) registry doesn't seem to mention HA at all.

So my concerns:

Upvotes: 2

Views: 2190

Answers (1)

VonC
VonC

Reputation: 1327784

This is actually referenced in "Deploying a registry server - Load Balancing Considerations"

One may want to use a load balancer to distribute load, terminate TLS or provide high availability. While a full load balancing setup is outside the scope of this document, there are a few considerations that can make the process smoother.

The most important aspect is that a load balanced cluster of registries must share the same resources. For the current version of the registry, this means the following must be the same:

  • Storage Driver
  • HTTP Secret
  • Redis Cache (if configured)

That means the actual high-availability feature is considered out-of-scope for the docker distribution project, but it can still be implemented by adding a load balancer.

Upvotes: 1

Related Questions