Docker Registries You Can Use For Your Private Projects With An Always Free Plan


Private Docker Registry for free with Codefresh, GitLab, TreeScale & Canister

Codefresh: A complete CI/CD pipeline with great integrations

Codefresh is a complete CI/CD pipeline solution that integrates with all the major Git providers (Github, GitLab, Bitbucket) and comes with Kubernetes and Docker Swarm support. When using pipelines, you are free to use the Docker registry of your choice, including the container registry offered by Codefresh itself.

Free Plan Limits

There are currently no limits on the number of docker container repositories you can push to Codefresh, but you are allowed to only 1 concurrent build with 2 parallel steps.

Getting started

To get started, register a new account on codefresh.io, and close the Create New Pipeline dialog if it shows up.

Navigate to User Settings and generate a Registry Access Token. You can then copy the token and the docker login command.

Navigate to Account Settings, Integrations, then click Configure next to Docker Registry. Hover over Codefresh Registry ( cfcr ) and edit it by clicking the pen icon. You can now paste the token that was generated earlier and click on Test. After a popup message validating the token is displayed, you click on Save.

You can now use the r.cfcr.io/ACCOUNT_NAME/IMAGE_NAME:TAG registry url to push and pull you docker container images using Codefresh.

Note: Only docker images built using the integrated pipeline can be viewed in the web app. Images pushed manually will not be visible in the Images page.

References


Codefresh - 1- Generate a Codefresh Registry Access Token
After logging in, generate a Codefresh registry access token
Codefresh - 2- Generated Registry API Key
Copy the generated token that will be used in the docker login command
Codefresh - 3- Codefresh Integrations Configuration Page
Access the Docker Registry configuration page
Codefresh - 4- Codefresh Registry Configuration
Edit the Codefresh Registry entry, and paste the generated token
Codefresh - 5- Docker command examples
You can use 'r.cfcr.io' as your registry's base url

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 make sure that Container Registry is enabled for the project's settings (by expanding Visibility, project features, permissions in the General settings page).

GitLab - General settings - Container registry enabled

You can get the docker repository url and follow docker command instructions from the Container Registry page (Packages sidebar group).

References


GitLab - 1- Empty Home Page
Get started by creating a project page
GitLab - 2- Create project page
Fill the project's name, slug and choose a visibility
GitLab - 3- Empty Container Registry Page
You can use 'registry.gitlab.com' as your registry's base url
GitLab - 4- Docker login, build and push to registry from the command line
Docker login, build and push examples
GitLab - 5- Container Registry Page after Docker push
Container Registry page after Docker push
GitLab - 6- Docker run
Docker run example

TreeScale: a free private Docker registry without a repository number limitation

TreeScale is a free private Docker registry service that focuses on performance, image layer resilience and comes with scalable tooling and web hooks support.

Free Plan Limits

  • 500 Pull actions/month
  • 50 GB Registry space
  • 50 Image builds/month

Getting started

Register a new account from this page.

You can then navigate to the Container Registry page and click on Add New Registry.

Create New Image Registry Page

You can now use the registry url repo.treescale.com/[username]/[registry name]:[tag name] in your docker CLI commands.

Docker command examples

You can visualize the network traffic and the pull/push count from the Registry Usage Statistics page:

Registry Usage Statistics Page

References

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

  • Docker Hub: The largest library for public container images. You are limited to a 1 free private repository.
  • 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


Docker Hub public containers - OpenJDK, Python, Alpine
Docker Hub
Google Cloud Container Registry
Google Container Registry