- Lab
- A Cloud Guru
Building a Private Docker Registry
Docker registries provide a powerful way to manage and distribute your Docker images. Docker offers a free registry at Docker Hub, but in many scenarios, you may want greater control of your images, not to mention that it is not free to have more than one private repository on Docker Hub. Fortunately, you can build and manage your own private registries, allowing you full control over where your images are housed and how they can be accessed. In this lab, you will have the opportunity to work with a private registry. You will build your own private registry, and you will have a chance to practice some advanced setup to ensure that your private registry is secure. After completing this lab, you will know how to set up a simple but secure private Docker registry.
Path Info
Table of Contents
-
Challenge
Set up the private registry.
- Create an
htpasswd
file containing the login credentials for the initial account. - Create a self-signed certificate for the registry. For the common name, enter the hostname of the registry server, which is
ip-10-0-1-101
. - Create a container to run the registry.
- Once the registry starts up, verify that it is responsive. It's OK if this command returns nothing, just make sure it does not fail.
- Create an
-
Challenge
Test the registry from the Docker workstation server.
Note: A private Docker registry is running on the Docker registry server using version
2.7
of the registry image.- Get the public hostname from the registry server. It should be
ip-10-0-1-101
. - Add the registry's public self-signed certificate to
/etc/docker/certs.d
. Thescp
command is copying the file from the registry server to the workstation. The password is the normalcloud_user
password provided by the lab. - Log in to the private registry from the workstation. The credentials should be username
docker
and passwordd0ck3rrU73z
. - Test the registry by pushing an image to it. You can pull any image from the Docker hub and tag it appropriately to push it to the registry as a test image.
- Verify image pulling by deleting the image locally and re-pulling it from the private repository.
- Get the public hostname from the registry server. It should be
What's a lab?
Hands-on Labs are real environments created by industry experts to help you learn. These environments help you gain knowledge and experience, practice without compromising your system, test without risk, destroy without fear, and let you learn from your mistakes. Hands-on Labs: practice your skills before delivering in the real world.
Provided environment for hands-on practice
We will provide the credentials and environment necessary for you to practice right within your browser.
Guided walkthrough
Follow along with the author’s guided walkthrough and build something new in your provided environment!
Did you know?
On average, you retain 75% more of your learning if you get time for practice.