Skip to main content

Migrating your enterprise to the Container registry from the Docker registry

You can migrate Docker images previously stored in the Docker registry on your GitHub Enterprise Server instance to the Container registry.

Who can use this feature

Enterprise owners can migrate Docker images to the Container registry.

注意:GitHub Enterprise Server 的 Container registry 当前为 beta 版本,可能会有变化。

必须启用 GitHub Packages 和子域隔离才能使用 Container registry。 有关详细信息,请参阅“使用容器注册表”。

About the Container registry

Container registry 将容器映像存储在组织或个人帐户中,并允许你将映像与存储库相关联。 可以选择是从存储库继承权限,还是独立于存储库设置精细权限。 你也可以匿名访问公共容器映像。 For more information, see "Working with the Container registry."

For more information about configuring GitHub Packages for your GitHub Enterprise Server instance, see "Getting started with GitHub Packages for your enterprise."

About migration from the Docker registry

Container registry 替代 GitHub 的 Docker 注册表。 If the Docker registry on your GitHub Enterprise Server instance contains images, you must manually migrate the images to the Container registry.

Note: GitHub Enterprise Server 3.6 支持迁移存储在组织中的 Docker 映像。 未来的版本将支持迁移用户拥有的映像。

任何使用 Docker 注册表 docker.HOSTNAME 的命名空间的脚本或 GitHub Actions 工作流在迁移到 containers.HOSTNAME 处的 Container registry 后都将继续工作。 For more information about the impact of migration to the Container registry, see "Migrating to the Container registry from the Docker registry."

Migrating organizations to the Container registry

You can start a migration of all your organizations' Docker images to the Container registry. The duration of the migration operation depends on the total number of images to migrate, and the overall load on your instance. After a successful migration, GitHub Enterprise Server will display a summary, and all future uploads of Docker images will use the Container registry.

If a site administrator has configured email notifications for your GitHub Enterprise Server instance, you will receive an email after the migration is complete. For more information, see "Configuring email for notifications."

Notes:

  • During the migration, the CPU and memory usage for your instance will increase. To ensure the performance of the instance for your users, GitHub recommends that you begin a migration during a period of reduced activity.
  • During the migration, do not modify settings for your enterprise or run ghe-config-apply from an administrative SSH session. These actions will trigger a configuration run, which can restart services and may interrupt the migration.
  • After the migration, storage pressure on your instance will increase due to the duplication of image files in the Docker registry and the Container registry. A future release of GitHub Enterprise Server will remove the duplicated files when all migrations are complete.

For more information about monitoring the performance and storage of your GitHub Enterprise Server instance, see "Accessing the monitor dashboard."

  1. 在 GitHub Enterprise Server 的右上角,单击你的个人资料照片,然后单击“企业设置”。 GitHub Enterprise Server 上个人资料照片下拉菜单中的“企业设置”
  2. 在企业帐户侧边栏中,单击 “设置”。 企业帐户侧边栏中的“设置”选项卡
  3. In the left sidebar, click Packages.
  4. To the right of the number of packages to migrate, click Start migration. During the migration, GitHub Enterprise Server will display progress on this page.

After the migration completes, the page will display the results. If a migration fails, the page will show the organizations that own the package that caused the failure.

Re-running a failed organization migration

Prior to migration, if a user has created a package in the Container registry that has an identical name to an existing package in the Docker registry, the migration will fail.

  1. Delete the affected container in the Container registry. For more information, see "Deleting and restoring a package."
  2. 在 GitHub Enterprise Server 的右上角,单击你的个人资料照片,然后单击“企业设置”。 GitHub Enterprise Server 上个人资料照片下拉菜单中的“企业设置”
  3. 在企业帐户侧边栏中,单击 “设置”。 企业帐户侧边栏中的“设置”选项卡
  4. 在左侧边栏中,单击“包”。
  5. To the right of the number of packages to migrate, click Re-run migration. During the migration, GitHub Enterprise Server will display progress on this page.
  6. If the migration fails again, start from step 1 and re-run the migration.