Skip to main content

Docker レジストリからコンテナー レジストリへの Enterprise の移行

以前に お使いの GitHub Enterprise Server インスタンス の Docker レジストリに保存されていた Docker イメージを、Container registry に移行できます。

この機能を使用できるユーザーについて

Enterprise owners can migrate Docker images to the Container registry.

Note

現在、Container registry は GitHub Enterprise Server に対して ベータ 段階であり、変更される可能性があります。

Container registry を使うには、GitHub Packages と Subdomain Isolation の両方を有効にする必要があります。 詳しくは、「コンテナレジストリの利用」を参照してください。

Container registry について

Container registry は、Organization または個人アカウント内にコンテナー イメージを格納し、イメージをリポジトリに関連付けることができます。 権限をリポジトリから継承するか、リポジトリとは別に細かい権限を設定するかを選ぶことができます。 パブリック コンテナー イメージに匿名でアクセスすることもできます。詳しくは、「コンテナレジストリの利用」をご覧ください。

お使いの GitHub Enterprise Server インスタンス 用の GitHub Packages の構成について詳しくは、「Enterprise 向けの GitHub Packages を使い始める」をご覧ください。

Docker レジストリからの移行について

Container registry は、GitHub の Docker レジストリに置き換えられます。お使いの GitHub Enterprise Server インスタンス の Docker レジストリにイメージが含まれている場合は、イメージを手動で Container registry に移行する必要があります。

Note

GitHub Enterprise Server 3.6 では、Organization に格納されている Docker イメージの移行がサポートされています。 今後のリリースでは、ユーザー所有のイメージの移行がサポートされます。

Docker レジストリ、docker.HOSTNAME の名前空間を使用するあらゆるスクリプトまたは GitHub Actions ワークフローは、containers.HOSTNAME の Container registry に移行した後も引き続き動作します。Container registry への移行の影響について詳しくは、「Dockeerレジストリからコンテナレジストリへの移行」をご覧ください。

Container registryへの Organization の移行

Organization の Docker イメージすべてのContainer registryへの移行を開始できます。 移行操作の期間は、移行するイメージの合計数とインスタンスでの全体的な負荷によって異なります。 移行が成功すると、GitHub Enterprise Server に概要が表示され、今後の Docker イメージのすべてのアップロードにContainer registryが使用されます。

サイト管理者が お使いの GitHub Enterprise Server インスタンス に対して電子メールによる通知を構成している場合は、移行の完了後にメールが届きます。 詳しくは、「通知のためのメール設定」をご覧ください。

移行中

移行中は、お使いのインスタンスの CPU とメモリの使用量が増加します。 ユーザーのためにインスタンスのパフォーマンスを確保するために、GitHub では、アクティビティが減少する期間に移行を開始することをお勧めします。

Warning

Enterprise の設定を変更したり、管理 SSH セッションから ghe-config-apply を実行したりしないでください。 これらのアクションによって構成の実行がトリガーされます。これによってサービスが再起動される場合があり、移行が中断される恐れがあります。

移行後

移行後、Docker レジストリとContainer registryのイメージ ファイルが重複するため、インスタンスのストレージ負荷が増加します。 GitHub Enterprise Server の今後のリリースでは、すべての移行が完了すると、重複したファイルが削除されます。

お使いの GitHub Enterprise Server インスタンス のパフォーマンスとストレージの監視について詳しくは、「モニター ダッシュボードについて」をご覧ください。

移行の開始

  1. GitHub Enterprise Server の右上で、ご自分のプロフィール フォトをクリックしてから、 [Enterprise 設定] をクリックします。

    GitHub Enterprise Server のプロファイル写真をクリックしたときに表示されるドロップダウン メニューのスクリーンショット。 [エンタープライズ設定] オプションが濃いオレンジ色の枠線で強調表示されています。

  2. ページの左側にある Enterprise アカウントのサイドバーで、 [設定] をクリックします。

  3. 左側のサイドバーで、 [パッケージ] をクリックします。

  4. 移行するパッケージ数の右側にある [移行の開始] をクリックします。 移行中は、GitHub Enterprise Server によってこのページに進行状況が表示されます。

移行が完了すると、このページに結果が表示されます。 移行が失敗した場合、このページには、エラーの原因となったパッケージを所有している Organization が表示されます。

失敗した Organization 移行の再実行

移行前に、ユーザーが Docker レジストリの既存パッケージと同じ名前のパッケージをContainer registryに作成していた場合、移行は失敗します。

  1. Container registry内の影響を受けたコンテナーを削除します。 詳しくは、「パッケージを削除および復元する」をご覧ください。

  2. GitHub Enterprise Server の右上で、ご自分のプロフィール フォトをクリックしてから、 [Enterprise 設定] をクリックします。

    GitHub Enterprise Server のプロファイル写真をクリックしたときに表示されるドロップダウン メニューのスクリーンショット。 [エンタープライズ設定] オプションが濃いオレンジ色の枠線で強調表示されています。

  3. ページの左側にある Enterprise アカウントのサイドバーで、 [設定] をクリックします。

  4. 左側のサイドバーで、 [パッケージ] をクリックします。

  5. 移行するパッケージ数の右側にある [移行の再実行] をクリックします。 移行中は、GitHub Enterprise Server によってこのページに進行状況が表示されます。

  6. 移行が再び失敗した場合は、手順 1 から開始して移行をもう一度実行します。