機能の非推奨

Container Registry に関連するサポート終了をお知らせします。Docker の利用非推奨のお知らせchangelogもご覧ください。

Docker Registry v1 API とバージョン 1.6 より前の Docker クライアント

2016 年 12 月 14 日に Google は、Docker v1.13 がリリースされる 2017 年 2 月 28 日をもって、Docker Engine による v1 プロトコルのサポートが終了することを発表しました。

これに伴い、Container Registry はバージョン 1.6 未満の Docker クライアントのサポートを終了しました。2017 年 2 月 28 日以降、バージョン 1.6 より前の Docker クライアントは Container Registry API と通信できなくなり、Container Registry に格納されている v1 プロトコルのコンテナ イメージはサービスを提供できなくなります。

この変更がお使いのイメージに影響するかどうかを確認するには、次の手順を行います。

  1. 次のコマンドを実行して、使用している Docker クライアントのバージョンを確認します。

      gcloud docker -- --version
    

    クライアントのバージョンがバージョン 1.6 未満である場合は、Docker クライアントを更新する必要があります。次に、イメージを Docker Registry v2 プロトコルに更新する必要があります。

  2. 影響を受ける v1 イメージを pull します。

      gcloud docker -- pull gcr.io/[PROJECT-ID]/[IMAGE]
    
  3. イメージを再度 push します。

      gcloud docker -- push gcr.io/[PROJECT-ID]/[IMAGE]
    

Docker Registry の v1 および v2 プロトコルの詳細については、Container のイメージ形式をご覧ください。

標準以外の Container Registry バケット

2017 年 2 月 28 日より b.gcr.iobucket.gcr.io などの「お客様独自のバケット」レジストリの使用はサポート対象外となります。Container Registry では、それらのバケットでホストされているコンテナ イメージへのサービスが提供されなくなります。

イメージの使用を継続するには、標準の Container Registry ロケーション(gcr.ious.gcr.ioasia.gcr.ioeu.gcr.io など)にイメージを移動する必要があります。

コンテナ イメージを標準以外のバケットから標準バケットへ移行するには、次の手順を実行します。

  1. 標準以外のバケットからイメージを pull します。

    gcloud docker -- pull b.gcr.io/[BUCKET-NAME]/[IMAGE]:[TAG]
    
  2. イメージに標準レジストリ ロケーションの名前を指定してタグを再設定します。

    gcloud docker -- tag b.gcr.io/[BUCKET-NAME]/[IMAGE]:[TAG] [HOSTNAME]/[PROJECT-ID]/[IMAGE]:[TAG]
    
  3. ターゲット プロジェクト ID を使用して、イメージを Container Registry に(Docker クライアント バージョン 1.6 以降を使用して)再び push します。

    gcloud docker -- push [HOSTNAME]/[PROJECT-ID]/[IMAGE]:[TAG]
    

コンテナ イメージ メタデータのストレージの変更

2017 年 2 月 28 日付けで、Container Registry がコンテナ イメージのメタデータ ファイルを格納する場所が変更されました。イメージ メタデータとは、イメージを構成するレイヤファイルを(ダイジェストで)識別するイメージ名、イメージタグ、イメージ マニフェストなどの情報を指します。

Cloud Storage バケット内のメタデータ ファイルへの直接アクセスや直接操作(変更履歴や、削除を目的としたオブジェクトのライフサイクル管理など)を行う場合、この変更による影響を受ける可能性があります。

以前は、イメージを Container Registry に push すると、Container Registry API により、push されたイメージのメタデータとレイヤファイルがプロジェクトの Cloud Storage バケットに格納されていました。2017 年 2 月 28 日からは、パフォーマンスの向上と機能強化のために、Container Registry は高パフォーマンス バックエンド データベースにイメージ メタデータを格納するようになっています。イメージのレイヤファイルは引き続き Cloud Storage に格納されます。

Container Registry サービス アカウントは、[PROJECT-NUMBER]@containerregistry.iam.gserviceaccount.com のような名前でプロジェクトに自動的に追加されていました。このサービス アカウントにより、新しい Container Registry API が有効になり、移行が管理されていました。このサービス アカウントを削除またはダウングレードしたり、新しい Container Registry API を無効にしたりしないでください。

gcloud docker コマンドとバージョン 18.03 以上の Docker クライアント

2018 年 4 月 3 日現在、gcloud docker はバージョン 18.03 以降の Docker クライアントに対してはサポートされていません。

クライアントのバージョンが 18.03 以降の Container Registry に対するリクエストを認証するには、gcloud を Docker 認証ヘルパーとして使用します。これを行うには、次のコマンドを実行します。

gcloud auth configure-docker

または、その他の高度な認証方法のいずれかを使用します。