Skip to main content

从 Docker 注册表迁移到容器注册表

GitHub 会将之前存储在 GitHub 上的 Docker 注册表中的 Docker 映像迁移到 Container registry。

谁可以使用此功能?

GitHub Packages 适用于 GitHub Free、GitHub Pro、面向组织的 GitHub Free、GitHub Team、GitHub Enterprise Cloud 和 GitHub Enterprise Server 3.0 或更高版本。
GitHub Packages 不适用于使用旧版按仓库计划的帐户所拥有的私有仓库。 此外,使用旧版按存储库计划的帐户无法访问支持精细权限的注册表,因为这些帐户按存储库计费。有关支持精细权限的注册表列表,请参阅 关于 GitHub Packages 的权限。 有关详细信息,请参阅 GitHub 的计划

关于 Container registry

Container registry 将容器映像存储在组织或个人帐户中,并允许你将映像与存储库相关联。 可以选择是从存储库继承权限,还是独立于存储库设置精细权限。 你也可以匿名访问公共容器映像。 有关详细信息,请参阅 使用容器注册表

关于从 Docker 注册表迁移

Container registry 替代 GitHub 的 Docker 注册表。如果已将 Docker 映像存储在 Docker 注册表中,则GitHub会逐步将映像迁移到 Container registry。 你无需执行任何操作。

在将 Docker 映像迁移到 Container registry 后,你将看到对包详细信息所做的以下更改。

  • 包图标将是 Container registry 徽标( 图标),而不是 Docker 徽标。
  • 拉取 URL 中的域将是 ghcr.io 而不是 docker.pkg.github.com

任何使用 Docker 注册表 docker.pkg.github.com 的命名空间的脚本或 GitHub Actions 工作流在迁移到 ghcr.io 处的 Container registry 后都将继续工作。

迁移后,便无法再使用 GraphQL API 来查询 PackageType 为“DOCKER”的包。 可以改为使用 REST API 查询 package_type 为“容器”的包。 有关详细信息,请参阅“适用于包的 REST API 终结点”。

关于 Container registry 的计费

有关 Container registry 计费的详细信息,请参阅 关于 GitHub 包的计费