Microsoft’s GitHub on Tuesday launched a public beta of its Container Registry, a service that both overlaps with and complements GitHub Packages, which debuted last year, but evidently has nothing to do with Microsoft’s Azure Container Registry.
GitHub Packages allows developers to host, manage, and download packages – bundles of source code and metadata – for multiple different programming languages. And it hosts container images – a package archive format for standing up apps in a lighter version of a virtual machine.
GitHub Container Registry also provides a way to host, manage, and download containers. But at the moment, it only supports Docker images, the most common container image format these days.
“Available today as a public beta, GitHub Container Registry improves how we handle containers within GitHub Packages,” explained Kayla Ngan, product manager at GitHub, in a blog post. “With the new capabilities introduced today, you can better enforce access policies, encourage usage of a standard base image, and promote innersourcing through easier sharing across the organization.”
GitHub Container Registry provides a more granular permission model than Packages. It allows you to set access levels and visibility levels per image, independent from organizational and repository permissions.
What’s more, it supports the hosting of multiple container images within one organization or user account. Like its predecessor, it can be automated with GitHub Actions.
GitHub is urging developers to move their container images from Packages to its Container Registry. “The launch of GitHub Container Registry will replace our current Docker service within GitHub Packages, and we encourage users to start migrating to Container Registry,” a company spokesperson said in an emailed statement.
“We’ll have more information on deprecation timing once we come out of beta. We continue to invest in GitHub Packages as a service for many other package managers, such as Node, RubyGems, Apache Maven, Gradle, and Nuget.”
Beyond the above mentioned differences, GitHub Container Registry supports anonymous access for public container images and is free for public images.
In contrast to GitHub’s free spending ways, the more budget-minded Docker earlier this month implemented cost-saving measures for its Docker Hub registry. These took the form of rate limits for container image pulls and container image retention limits to avoid unnecessary archiving costs.
Other cloud service providers offer similar services, including Google Container Registry, GitLab Container Registry, Oracle Container Registry, IBM Cloud Container Registry, Red Hat Quay, and Amazon Elastic Container Registry.
During the beta period, both GitHub Container Registry and the GitHub Packages Docker registry will be free. After that, private packages and container images will incur storage and data transfer costs that depend upon the user account type (Free, Pro, Free for organizations, Team, or Enterprise Cloud) and their associated quotas.