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

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

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

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 ユーザーガイド」の「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. プッシュ先となるリポジトリにイメージリポジトリが存在しない場合は、作成します。詳細については、「イメージを保存する Amazon ECR プライベートリポジトリの作成」を参照してください。

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

    docker images

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

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

    次の例は、ID が e9ae3c220b23 のローカルイメージに aws_account_id.dkr.ecr.us-west-2.amazonaws.com/my-repository:tag というタグを付けます。

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

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