Watch all our Tutorials and Training Videos for Free on our Youtube Channel, Get Online Web Tools for Free on

Search Suggest

Create Private Docker Registry

Create Private Docker Registry, create own private docker registry, create private docker registry, create docker registry
Create Private Docker Registry

If you are working with Docker and deploying containers, you might want to create your own private Docker registry. A private registry allows you to store and manage your Docker images securely, without relying on third-party services. In this article, we will guide you through the steps of creating a private Docker registry.


  • A server with Docker installed
  • A domain name or IP address for your registry

Step 1: Create a SSL certificate

To ensure the security of your private Docker registry, we recommend using SSL encryption. You can obtain a free SSL certificate from Let's Encrypt by running the following command:

sudo apt-get update
sudo apt-get install certbot
sudo certbot certonly --standalone -d your-domain-name

Replace "your-domain-name" with your actual domain name.

Step 2: Create a Docker Compose file

Next, we need to create a Docker Compose file to define our private registry service. Create a file called docker-compose.yml with the following contents:

version: '3'

image: registry:2
- 443:443
REGISTRY_HTTP_TLS_KEY: /certs/privkey.pem
- registry-data:/var/lib/registry
- ./certs:/certs


This Compose file defines a single service called registry, which uses the official Docker registry image. We expose the service on port 443 and use the SSL certificates we created earlier. We also mount a volume to persist the registry data and another volume to provide the SSL certificates to the container.

Step 3: Start the registry

With the Docker Compose file in place, we can start the private Docker registry by running the following command in the same directory as the docker-compose.yml file:

docker-compose up -d

This command will start the registry as a background service. You can check the status of the service by running:

docker ps

You should see the registry service running.

Step 4: Push and pull images

Now that your private Docker registry is up and running, you can push and pull Docker images to and from it. To push an image, you first need to tag it with the domain name of your registry:

docker tag my-image your-domain-name/my-image

Replace "my-image" with the name of your Docker image.

Next, push the image to your private registry:

docker push your-domain-name/my-image

To pull an image from your private registry, simply run:

docker pull your-domain-name/my-image

Congratulations! You have successfully created your own private Docker registry.

Additional configuration options:

  • Authentication: You can configure your private Docker registry to require authentication by following the official Docker documentation.
  • Storage drivers: The official Docker registry image supports multiple storage drivers, including S3, Azure, and Google Cloud Storage. You can configure your registry to use a different storage driver by specifying it in your Docker Compose file.

Related Searches and Questions asked:

  • Deploy NodeJS Application
  • Run Multiple Instances on Docker
  • How to Build a Spring Boot Application
  • How to Use Elasticsearch on Docker
  • That's it for this post. Keep practicing and have fun. Leave your comments if any.