イメージの push と pull

Docker イメージの push と pull は、Google Container Registry で行う最も一般的なタスクの 1 つです。イメージを push する前に、レジストリ名を選択し、イメージに適切なタグを付ける必要があります。

このガイドは、gcloud コマンドライン ツールを含む Cloud SDK がインストールされていることを前提としています。プロダクトを起動して実行する方法を説明している Container Registry クイックスタートもご覧ください。

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

レジストリ名の選択

Docker イメージを非公開レジストリに push するには、イメージ名にレジストリ名でタグ付けしておく必要があります。

非公開レジストリ名は、Google Cloud Platform プロジェクト IDgcr.io ホスト名、イメージの名前、およびそのタグ(任意)を組み合わせた文字列です。

使用可能な gcr.io ホスト名は次のとおりです。

  • us.gcr.io は、米国でイメージをホストします。
  • eu.gcr.io は、欧州連合でイメージをホストします。
  • asia.gcr.io は、アジアでイメージをホストします。
  • プレフィックスのない gcr.io は、米国でイメージをホストしますが、この動作は今後のリリースで変更される可能性があります。

レジストリ名の形式

レジストリ名の形式は次のとおりです。

[HOSTNAME]/[PROJECT-ID]/[IMAGE][:TAG|@DIGEST]

ここで

  • [HOSTNAME]gcr.io ホスト名です。
  • [PROJECT-ID] は、Google Cloud Platform Console プロジェクト ID です。
  • [IMAGE] はイメージの名前です。
  • (省略可能)[:TAG|@DIGEST] はイメージのタグまたはダイジェストです(省略すると、デフォルト値 latest が使用されます)。

たとえば、米国で提供される my-projectexample-image のレジストリ名は次のとおりです(タグ test が付加されています)。

us.gcr.io/my-project/example-image:test

プロジェクト ID がわからない場合は、次のコマンドを実行します。

gcloud projects list

ドメインをスコープとするプロジェクト

プロジェクトのスコープがドメインである場合(例: example.com:my-project)、次のようにします。

[HOSTNAME]/example.com/my-project/[IMAGE]

イメージをレジストリに push する

ローカル イメージを Container Registry に push するには、次の手順を実行します。

  1. 次の Docker コマンドを実行してイメージにタグを付けます。

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

    ここで

    • [SOURCE_IMAGE] は、レジストリに push するイメージです。これは、docker コマンドを実行するマシンと同じマシンにローカルで存在する必要があります。
    • [HOSTNAME] は、gcr.io ホスト名の 1 つです。
    • [PROJECT-ID] は、プロジェクトの ID です。
    • [IMAGE] は、目的のイメージの名前です。この名前は、ソース名と異なる名前にすることができます。
    • [:TAG] は省略可能です。省略すると、latest タグが自動的に適用されます。
  2. イメージを Container Registry に push します。

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

    タグを使用する場合は次のようになります。

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

次に例を示します。

docker tag my-image gcr.io/my-project/my-image:test
gcloud docker -- push gcr.io/my-project/my-image

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

gcloud container images list-tags gcr.io/my-project/my-image

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

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

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

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

gcloud docker -- pull [HOSTNAME]/[PROJECT-ID]/[IMAGE]

次に例を示します。

gcloud docker -- pull gcr.io/my-project/my-image

イメージの特定のタグまたはダイジェストを pull するには、イメージのタグまたはダイジェストを付加します。

gcloud docker -- pull gcr.io/my-project/my-image:test
gcloud docker -- pull gcr.io/my-project/my-image@sha256:44bde...

次のステップ

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

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