Migrating to the Container registry from the Docker registry

Docker images previously stored in the Docker registry are being automatically migrated to the Container registry.

GitHub Packages is available with GitHub Free, GitHub Pro, GitHub Free for organizations, GitHub Team, GitHub Enterprise Cloud, GitHub Enterprise Server, and GitHub AE.


GitHub Packages is not available for private repositories owned by accounts using legacy per-repository plans. Also, accounts using legacy per-repository plans cannot access the Container registry since these accounts are billed by repository. For more information, see "GitHub's products."

In this article

GitHub's Docker registry has been replaced by the Container registry. If you've stored Docker images in the Docker registry, they will be automatically moved to the Container registry. You don't need to do anything. Any scripts or GitHub Actions workflows that use the namespace for the Docker registry (docker.pkg.github.com) will continue to work after the migration to the Container registry (ghcr.io).

Migration is being done gradually, rather than all at once. If your images haven't yet been moved over, hold tight, we'll get to them sometime soon.

How can you tell if your images have been migrated?

After your Docker images have been migrated to the Container registry you will see the following changes on the details page for a package:

  • The icon is now the Container registry logo, previously it was a Docker logo.
  • The domain in the pull URL is now ghcr.io, previously it was docker.pkg.github.com.

Container registry details page

Key differences between the Container registry and the Docker registry

The Container registry is optimized to support some of the unique needs of containers.

With the Container registry you can:

  • Store container images within your organization and user account, or connect them to a repository.
  • Choose whether to inherit permissions from a repository, or set granular permissions independently of a repository.
  • Access public container images anonymously.

API queries for details of Docker images

After migration you'll no longer be able to use the GraphQL API to query for packages of PackageType "DOCKER". Instead, you can use the REST API to query for packages with the package_type "container". For more information, see the REST API article "Packages."

Billing

For more information about billing for the Container registry, see "About billing for GitHub Packages."

Did this doc help you?Privacy policy

Help us make these docs great!

All GitHub docs are open source. See something that's wrong or unclear? Submit a pull request.

Make a contribution

Or, learn how to contribute.