イメージの push と pull

このページでは、イメージの push や pull の方法について説明します。これは、Container Registry で行われる最も一般的な 2 つのタスクです。新しいイメージを Container Registry に push するには、まず、以下に説明するように、レジストリ名にタグを付ける必要があります。

Container Registry を起動して実行する方法については、クイックスタートをご覧ください。

イメージのリスト表示、タグ付け、削除の手順については、イメージの管理をご覧ください。

はじめに

次のことを確認してください。

  1. Cloud SDK の最新バージョンをインストールしておくこと。これには gcloud コマンドライン ツールが含まれています。

  2. プロジェクトに対する課金が有効になっていること。

  3. Docker をインストールしておくこと。

  4. レジストリから push および pull する権限を持っていること。

  5. gcloud を認証ヘルパーとして使用するか、別の認証方法を使用するように Docker を構成していること。gcloud を認証ヘルパーとして使用するには、次のコマンドを実行します。

    gcloud auth configure-docker
    

イメージのレジストリへの push

ローカル イメージを Container Registry に push するには、最初にレジストリ名にタグ付けしてからイメージを push する必要があります。

ローカル イメージをレジストリ名にタグ付けする

  1. レジストリ名を指定します。

    1. レジストリのストレージのリージョンを指定するホスト名を選択します。このリージョンは居住地ではなく、イメージが保存される場所です。たとえば、オーストラリアにお住まいの場合でも、アジアのホストを使用することができます。

      次の 4 つのオプションがあります。

      • gcr.io は米国でイメージをホストしていますが、今後は場所が変更される可能性があります。
      • us.gcr.io は米国でイメージをホストしますが、その場所は、gcr.io によってホストされるイメージからは独立したストレージ バケットです。
      • eu.gcr.io は、欧州連合でイメージをホストします。
      • asia.gcr.io は、アジアでイメージをホストします。

      コンソールで、イメージのホスト名が [場所] の下に表示されます。

    2. ローカルマシン上のイメージ名とは異なるイメージ名を選択します。

    3. ホスト名と Google Cloud Platform Console のプロジェクト ID とイメージ名を組み合わせます。

      [HOSTNAME]/[PROJECT-ID]/[IMAGE]
      

      プロジェクト ID にコロン(:)が含まれている場合は、ドメインをスコープとするプロジェクトをご覧ください。

  2. 次のコマンドを使用して、ローカル イメージにレジストリ名をタグ付けします。

    docker tag [SOURCE_IMAGE] [HOSTNAME]/[PROJECT-ID]/[IMAGE]
    

    ここで、[SOURCE_IMAGE] はローカル イメージ名です。

    このコマンドではイメージにレジストリ名を付け、latest のタグを適用します。別のタグを適用する場合は、次のコマンドを使用します。

    docker tag [SOURCE_IMAGE] [HOSTNAME]/[PROJECT-ID]/[IMAGE]:[TAG]
    

タグ付きイメージを Container Registry に push する

次のコマンドを使用して、タグ付きイメージを Container Registry に push します。

docker push [HOSTNAME]/[PROJECT-ID]/[IMAGE]

このコマンドでは、タグ latest が付けられているイメージを push します。別のタグが付けられたイメージを push する場合は、次のコマンドを使います。

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

イメージを新しいホスト名でレジストリに push すると、Container Registry では、指定されたマルチリージョンのロケーションにストレージ バケットを作成します。イメージを push した後、次のことが可能になります。

  • レジストリとイメージを表示するには、GCP Console に移動します。

  • gcloud container images list-tags を実行すると、イメージのタグと、自動的に生成されたダイジェストが表示されます。

    gcloud container images list-tags [HOSTNAME]/[PROJECT-ID]/[IMAGE]
    

    コマンドの出力は次のようになります。

    DIGEST        TAGS        TIMESTAMP
    44bde...      test        2017-..-..
    

レジストリからイメージを pull する

Container Registry から pull するには、次のコマンドを使用します。

docker pull [HOSTNAME]/[PROJECT-ID]/[IMAGE]:[TAG]

または

docker pull [HOSTNAME]/[PROJECT-ID]/[IMAGE]@[IMAGE_DIGEST]

ここで

  • [HOSTNAME] は、コンソールの [場所] の下に表示されます。4 つのオプション、gcr.ious.gcr.ioeu.gcr.ioasia.gcr.io のいずれかです。
  • [PROJECT-ID] は Google Cloud Platform Console プロジェクト ID です。プロジェクト ID にコロン(:)が含まれている場合は、ドメインをスコープとするプロジェクトをご覧ください。
  • [IMAGE] は、Container Registry 内のイメージ名です。
  • [TAG] はイメージに適用されるタグです。レジストリでは、タグはイメージに固有です。
  • [IMAGE_DIGEST] は、イメージ コンテンツの sha256 ハッシュ値です。コンソールで、メタデータを表示する特定のイメージをクリックします。ダイジェストはイメージのダイジェストとして一覧表示されます。

特定のイメージの pull コマンドを取得するには:

  1. 特定のレジストリに移動するには、イメージの名前をクリックします。

  2. レジストリで、pull するイメージのバージョンの横にあるチェックボックスをオンにします。

  3. ページの上部にある [pull コマンドを表示] をクリックします。

  4. タグやダイジェストを使用してイメージを識別する pull コマンドをコピーします。

次のステップ

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...