翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon ECR プライベートリポジトリへのマルチアーキテクチャイメージのプッシュ
Docker マニフェストリストを作成してプッシュすることで、マルチアーキテクチャイメージを Amazon ECR リポジトリにプッシュできます。マニフェストリストは、1 つ以上のイメージ名を指定して作成されるイメージのリストです。ほとんどの場合、マニフェストリストは、同じ機能を提供するが異なるオペレーティングシステムまたはアーキテクチャ向けのイメージから作成されます。マニフェストリストは必須ではありません。詳細については、「Docker マニフェスト
マニフェストリストは、他の Amazon ECR イメージと同様に、Amazon ECS タスク定義または Amazon EKS ポッド仕様でプルまたは参照できます。
前提条件
-
Docker CLI で実験機能をオンにします。実験機能の詳細については、Docker ドキュメントの「Experimental features
」を参照してください。 -
イメージをプッシュする前に、Amazon ECR リポジトリが存在している必要があります。詳細については、「イメージを保存するための Amazon ECR プライベートリポジトリの作成」を参照してください。
-
Docker マニフェストを作成する前に、イメージをリポジトリにプッシュする必要があります。イメージをプッシュする方法については、「Amazon ECR プライベートリポジトリへの Docker イメージのプッシュ」を参照してください。
マルチアーキテクチャ Docker イメージを Amazon ECR リポジトリにプッシュするには
-
イメージのプッシュ先となる 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
.dkr.ecr.aws_account_id
region
.amazonaws.com -
リポジトリ内のイメージをリストし、イメージタグを確認します。
aws ecr describe-images --repository-name
my-repository
-
Docker マニフェストリストを作成します。
manifest create
コマンドは、参照されたイメージがリポジトリにすでに存在することを確認し、マニフェストをローカルに作成します。docker manifest create
/aws_account_id
.dkr.ecr.region
.amazonaws.commy-repository
/aws_account_id
.dkr.ecr.region
.amazonaws.commy-repository
:image_one_tag
/aws_account_id
.dkr.ecr.region
.amazonaws.commy-repository
:image_two
-
(オプション) Docker マニフェストリストを検査します。これにより、マニフェストリストで参照される各イメージマニフェストのサイズとダイジェストを確認できます。
docker manifest inspect
/aws_account_id
.dkr.ecr.region
.amazonaws.commy-repository
-
Docker マニフェストリストを Amazon ECR リポジトリにプッシュします。
docker manifest push
/aws_account_id
.dkr.ecr.region
.amazonaws.commy-repository