Creating a Private Docker Registry (Part 0)

<![CDATA[Here at UComm, we’ve used Docker for local development for about 3 years. We love what it’s done for:

  • our daily workflow
  • project management/maintenance
  • and onboarding new people

Other posts, will go over how we use Docker for local development, but this series will be a guide/tutorial on setting up a private Docker registry.

If you don’t know what Docker is yet, that’s ok. We’ll go over it in more detail later. The important thing to know for now is that it allows you to run all kinds of applications inside what they call containers. Each of these containers is based on a Docker image. You can imagine that the image is like a blueprint and the containers are like buildings. In this little analogy then, the registry is like a library of images. A place you can go to find out what kinds of things you can make.

More technically, a registry is:


a storage and content delivery system, holding named Docker images, available in different tagged versions.


Docker registry introduction

There’s a public registry available called Docker Hub, and we have some images there. But, we also needed a private registry. Why? A few reasons

  • we’ve got some assets we’d like to turn into docker images, but they aren’t open source
  • we’d like to turn some of our sites into dockerized applications
  • we want to be able to make tagged versions of database

Our main requirement going in was that the registry needed to be secure. That meant ensuring it had

  • ssl enabled
  • (at least) basic authentication for API requests

Taking a cue from docker hub, we also wanted it to have a frontend. That way we could easily see which images were available and get information about how to use them and which versions were available.]]>

Posted by Adam Berkowitz

Tags: , ,