Docker Registries You Can Use For Your Private Projects With An Always Free Plan (As Of 2023)


Private Docker Registry for free with GitLab, Canister & Docker Hub
How to build, push and securely store private docker container images in fully-managed docker repository and registry providers with a free tier such as GitLab, Docker Hub and Canister.

Introduction

Docker is an open source tool that simplifies the development and deployment of applications.

With Docker, you can package application code with an operating system (OS) and other required tools to run the application consistently on any deployment infrastructure. This package is called Docker Image.

When running a Docker Image, either on your computer or on a remote server, the resulting runtime environment is called Docker Container.

In order to store and retrieve your Docker Images on demand, A Docker registry (aka repository) is required.

This article will list some Docker registries that can be used by projects with a codebase that is not publicly shared.

GitLab: Fully automated build pipeline with unlimited private git repositories

If you are looking for a fully integrated Docker container registry with automated build from source code and a complete CI/CD pipeline, GitLab is the answer.

Free Plan Limits

You don't have to host you source code in GitLab to benefit from the docker container registry, but it does offer unlimited private git repository hosting and 2,000 CI pipeline minutes per group per month for free. Each project is tied to a single container repository.

Getting started

After signing up on GitLab.com, you need to create a project, then navigate to the Container Registry page.

Gitlab Container Registry

CLI Commands are provided from the same page.

References

Docker Hub: Unlimited public repositories

Docker Hub is The largest library for public container images. It's also the default registry when using Docker commands (login, push, ...).

Free Plan Limits

  • 1 free private repository.

Getting started

  1. Sign up a new custom and choose your Docker ID from the homepage:
    Docker Hub - Sign up
  2. Choose the personal plan:
    Docker Hub - personal plan
  3. After the mail verification, navigate to https://hub.docker.com/repositories and create a new repository:
    Docker Hub - Create a repository
  4. Build your Docker image, log in to the registry, then push this image to Docker Hub using instructions provided from the created repository page.

Canister: Docker container registry for individuals and teams

Canister.io is a Docker Container Registry provider that comes with dedicated solutions for individuals and teams, an API used to manage images and teams, and an extended CLI.

Free Plan Limits

  • 20 Private Docker Container repositories
  • 1 Parallel Build (Public Queue)

Getting started

Sign up to the basic individual plan by visiting this page.

You can then create a new repository clicking on the Create Repo + button or any of the empty placeholders at the bottom of the page.

Create Repository Page

After submitting, you will be presented to the Repository Overview page. You will find you docker registry url inside the Docker CLI panel as an argument of the docker pull command.

Repository Overview Page

You can then login from the command line using the command docker login cloud.canister.io:5000, then using your canisterID as the username with your Canister password.

Docker command examples

References

Alternatives

Unlimited public repositories

  • Red Hat Quay.io: Offers 30-day free trial for private repositories, with always free unlimited public repositories.

Fully integrated cloud solutions

  • Google Container Registry: A Google Cloud integrated container registry with fine-grained access control, CI/CD integrations and vulnerability scanning. Container Registry only charges for the cloud storage and network egress, which are part of the Free tier that offer up to 5 GB-months storage and 1 GB network egress from North America per month.
  • IBM Cloud Container Registry: Fully managed private registry with automated vulnerabilities detection for images. You are limited to 0.5 GB free storage and 5 GB free pull traffic per month.
  • Amazon Elastic Container Registry (ECR): An AWS integrated Docker container registry. Includes a Free Tier of 500MB-month of storage.
  • Azure Container Registry: Microsoft Azure integrated Docker private registry. Offers a 12 month free trial.
  • Alibaba Container Registry: A secure image hosting platform providing containerized image lifecycle management. Can be tried for free.

Dedicated services

  • Container Registry: Offers unlimited private repositories for individuals with up to 1GB of storage after deduplication and compression.


Soufiane Sakhi is an AWS Certified Solutions Architect – Associate and a professional full stack developer.