Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Private docker registry and high availability

We are currently running a private registry on one server hosting all our images on it. If the server crash, we basically loose all our images. We would like to find a way to enable high availability on our images. An easy solution I see would be to have a registry instance per server. A load balancer would redirect(Round robin) the traffic to ones of the registry instances available. Registry instances would share the same network data drive(NFS) to store the images.

Do you see any problems with this solution ? i.e: If a user push an image on an instance, and another push on another ( Load balancer round robin decision), would it create any lock files on the NFS ?

Thanks for your feedback

like image 706
Florent Valdelievre Avatar asked Feb 16 '15 11:02

Florent Valdelievre


1 Answers

It's possible to back the registry with S3 as described here. It's worth running the registry in a container so you can instantly launch another in the event of a catastrophic host/data centre failure. GCloud and OpenStack are also supported by the registry.

If you are concerned with data loss add redundancy to your persistence and ensure regular backups. You should also ensure your builds are idempotent so you can rebuild images if absolutely necessary.

like image 99
Andy Avatar answered Sep 19 '22 23:09

Andy