Skip to main content

Migrating to the Container registry from the Docker registry

GitHub will migrate Docker images previously stored in the Docker registry on GitHub to the Container registry.

Who can use this feature?

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


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 registries that support granular permissions, because these accounts are billed by repository. For the list of registries that support granular permissions, see "About permissions for GitHub Packages." For more information, see "GitHub’s plans."

About the Container registry

The Container registry stores container images within your organization or personal account, and allows you to associate an image with a repository. You can choose whether to inherit permissions from a repository, or set granular permissions independently of a repository. You can also access public container images anonymously. For more information, see "Working with the Container registry."

About migration from the Docker registry

The Container registry replaces GitHub's Docker registry. If you've stored Docker images in the Docker registry, GitHub will gradually migrate the images to the Container registry. No action is required on your part.

After a Docker image has been migrated to the Container registry, you'll see the following changes to the details for the package.

  • The package icon will be the Container registry logo (a icon) instead of the Docker logo.
  • The domain in the pull URL will be ghcr.io instead of docker.pkg.github.com.

Any scripts or GitHub Actions workflows that use the namespace for the Docker registry, docker.pkg.github.com, will continue to work after migration to the Container registry at ghcr.io.

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

About billing for Container registry

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