Docker イメージをプッシュする
docker push コマンドを使用してコンテナイメージを Amazon ECR リポジトリにプッシュできます。Amazon ECR は、マルチアーキテクチャイメージに使用される Docker マニフェストリストの作成とプッシュもサポートしています。マニフェストリストで参照される各イメージは、すでにリポジトリにプッシュされている必要があります。詳細については、「マルチアーキテクチャイメージのプッシュ」を参照してください。
Docker イメージを Amazon ECR リポジトリにプッシュするには
イメージをプッシュする前に、Amazon ECR リポジトリが存在している必要があります。詳細については、「プライベートリポジトリを作成する」を参照してください。
-
イメージのプッシュ先となる Amazon ECR レジストリに対して Docker クライアントを認証します。認証トークンは、使用するレジストリごとに取得する必要があり、トークンは 12 時間有効です。詳細については、「プライベートレジストリの認証」を参照してください。
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
.dkr.ecr.aws_account_id
region
.amazonaws.com -
プッシュ先となるリポジトリにイメージリポジトリが存在しない場合は、作成します。詳細については、「プライベートリポジトリを作成する」を参照してください。
-
プッシュするローカルイメージを識別します。docker images コマンドを実行し、システム上のコンテナイメージを一覧表示します。
docker images
イメージは、結果のコマンド出力で
repository:tag
の値またはイメージ ID によって識別できます。 -
Amazon ECR レジストリ、リポジトリ、およびオプションのイメージタグ名を組み合わせたタグをイメージに付与します。レジストリ形式は
です。リポジトリ名は、イメージ用に作成したリポジトリと一致する必要があります。イメージタグを省略した場合、タグはaws_account_id
.dkr.ecr.us-west-2
.amazonaws.comlatest
と見なされます。次の例は、ID が
e9ae3c220b23
のローカルイメージに
というタグを付けます。
/my-repository:tagaws_account_id
.dkr.ecr.us-west-2
.amazonaws.comdocker tag
e9ae3c220b23
/aws_account_id
.dkr.ecr.us-west-2
.amazonaws.commy-repository:tag
-
docker push コマンドを使用してイメージをプッシュします。
docker push
/aws_account_id
.dkr.ecr.us-west-2
.amazonaws.commy-repository:tag
-
(オプション) 追加のタグをイメージに適用し、ステップ 4 とステップ 5 を繰り返して、それらのタグを Amazon ECR にプッシュします。