Amazon ECR プライベートリポジトリへの Docker イメージのプッシュ - Amazon ECR

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon ECR プライベートリポジトリへの Docker イメージのプッシュ

docker pushコマンドを使用してコンテナイメージを Amazon ECR リポジトリにプッシュできます。

Amazon ECR では、マルチアーキテクチャイメージに使用される Docker マニフェストリストの作成とプッシュもサポートされています。詳細については、「Amazon ECR プライベートリポジトリへのマルチアーキテクチャイメージのプッシュ」を参照してください。

Docker イメージを Amazon ECR リポジトリにプッシュするには

イメージをプッシュする前に Amazon ECR リポジトリが存在するか、リポジトリ作成テンプレートが定義されている必要があります。詳細については、「イメージを保存するための Amazon ECR プライベートリポジトリの作成」および「プルスルーキャッシュ、プッシュ時作成、またはレプリケーションアクション中に作成されたリポジトリを制御するテンプレート」を参照してください。

  1. イメージのプッシュ先となる Amazon ECR レジストリに対して Docker クライアントを認証します。認証トークンは、使用するレジストリごとに取得する必要があり、トークンは 12 時間有効です。詳細については、「Amazon ECR でのプライベートレジストリ認証」を参照してください。

    Amazon ECR レジストリに対して Docker を認証するには、aws ecr get-login-password コマンドを実行します。認証トークンを docker login コマンドに渡すとき、ユーザー名の AWS 値を使用し、認証先の Amazon ECR レジストリの URI を指定します。複数のレジストリに対して認証する場合は、レジストリごとにコマンドを繰り返す必要があります。

    重要

    エラーが発生した場合は、 AWS CLIの最新バージョンをインストールまたはアップグレードします。詳細については、「AWS Command Line Interface ユーザーガイド」の「Installing the AWS Command Line Interface」を参照してください。

    aws ecr get-login-password --region <region> | docker login --username AWS --password-stdin <aws_account_id>.dkr.ecr.<region>.amazonaws.com
  2. イメージリポジトリがまだプッシュ先のレジストリに存在しておらず、リポジトリ作成テンプレートが定義されている場合は、リポジトリ作成テンプレートのプレフィックスと目的のリポジトリ名を使用してイメージをプッシュできます。ECR は、リポジトリ作成テンプレートの事前定義された設定を使用して、自動的にリポジトリを作成します。

    一致するリポジトリ作成テンプレートが定義されていない場合は、リポジトリを作成する必要があります。詳細については、プルスルーキャッシュ、プッシュ時作成、またはレプリケーションアクション中に作成されたリポジトリを制御するテンプレートまたはイメージを保存するための Amazon ECR プライベートリポジトリの作成を参照してください。

  3. プッシュするローカルイメージを識別します。docker images コマンドを実行し、システム上のコンテナイメージを一覧表示します。

    docker images

    イメージは、結果のコマンド出力で repository:tag の値またはイメージ ID によって識別できます。

  4. Amazon ECR レジストリ、リポジトリ、およびオプションのイメージタグ名を組み合わせたタグをイメージに付与します。レジストリ形式は aws_account_id.dkr.ecr.region.amazonaws.comです。リポジトリ名は、イメージ用に作成したリポジトリと一致する必要があります。イメージタグを省略した場合、タグは latest と見なされます。

    次の例では、ローカルイメージに ID e9ae3c220b23 を としてタグ付けしますaws_account_id.dkr.ecr.region.amazonaws.com/my-repository:tag

    docker tag e9ae3c220b23 aws_account_id.dkr.ecr.region.amazonaws.com/my-repository:tag
  5. docker push コマンドを使用してイメージをプッシュします。

    docker push aws_account_id.dkr.ecr.region.amazonaws.com/my-repository:tag
  6. (オプション) 追加のタグをイメージに適用し、ステップ 4ステップ 5 を繰り返して、それらのタグを Amazon ECR にプッシュします。