

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

# Amazon ECR プライベートリポジトリへの Docker イメージのプッシュ
<a name="docker-push-ecr-image"></a>

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

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

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

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

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

   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](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html)」を参照してください。

   ```
   aws ecr get-login-password --region {{<region>}} | docker login --username AWS --password-stdin {{<{{aws_account_id}}>}}.dkr.ecr.{{<region>}}.amazonaws.com
   ```

1. イメージリポジトリがまだプッシュ先のレジストリに存在しておらず、リポジトリ作成テンプレートが定義されている場合は、リポジトリ作成テンプレートのプレフィックスと目的のリポジトリ名を使用してイメージをプッシュできます。ECR は、リポジトリ作成テンプレートの事前定義された設定を使用して、自動的にリポジトリを作成します。

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

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

   ```
   docker images
   ```

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

1. <a name="image-tag-step"></a>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}}
   ```

1. <a name="image-push-step"></a>**docker push** コマンドを使用してイメージをプッシュします。

   ```
   docker push {{aws_account_id}}.dkr.ecr.{{region}}.amazonaws.com/{{my-repository:tag}}
   ```

1. (オプション) 追加のタグをイメージに適用し、[Step 4](#image-tag-step) と[Step 5](#image-push-step) を繰り返して、それらのタグを Amazon ECR にプッシュします。