

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

# Amazon ECR でのイメージの再タグ付け
<a name="image-retag"></a>

Docker Image Manifest V2 Schema 2 のイメージでは、**put-image** コマンドの `--image-tag` オプションを使用して、既存のイメージにもう一度タグを付けることができます。Docker でイメージをプルまたはプッシュしなくても、もう一度タグを付けることができます。大きなイメージの場合、このプロセスにより、イメージにもう一度タグを付けるために必要なネットワーク帯域幅と時間がかなり節約されます。

## イメージにもう一度タグを付けるには (AWS CLI)
<a name="retag-aws-cli"></a>

**を使用してイメージにタグを付け直すには AWS CLI**

1. **batch-get-image** コマンドを使用して、イメージを再タグ付けしてファイルに書き込むためのイメージマニフェストを取得します。この例では、リポジトリ *amazonlinux* 内の *latest* タグ付きイメージのマニフェストが *MANIFEST* という名前の環境変数に書き込まれます。

   ```
   MANIFEST=$(aws ecr batch-get-image --repository-name amazonlinux --image-ids imageTag=latest --output text --query 'images[].imageManifest')
   ```

1. **put-image** コマンドの `--image-tag` オプションを使用して、新しいタグでイメージマニフェストを Amazon ECR に配置します。この例では、イメージには *2017.03* というタグが付きます。
**注記**  
お使いのバージョンの で `--image-tag`オプションを使用できない場合は 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 put-image --repository-name amazonlinux --image-tag 2017.03 --image-manifest "$MANIFEST"
   ```

1. 新しいイメージタグがイメージにアタッチされていることを確認します。次の出力では、イメージに `latest` と ` 2017.03` のタグが付けられています。

   ```
   aws ecr describe-images --repository-name amazonlinux
   ```

   出力は次のとおりです。

   ```
   {
       "imageDetails": [
           {
               "imageSizeInBytes": 98755613,
               "imageDigest": "sha256:8d00af8f076eb15a33019c2a3e7f1f655375681c4e5be157a26EXAMPLE",
               "imageTags": [
                   "latest",
                   "2017.03"
               ],
               "registryId": "aws_account_id",
               "repositoryName": "amazonlinux",
               "imagePushedAt": 1499287667.0
           }
       ]
   }
   ```

## イメージにもう一度タグを付けるには (AWS Tools for Windows PowerShell)
<a name="retag-powershell"></a>

**を使用してイメージにタグを付け直すには AWS Tools for Windows PowerShell**

1. **Get-ECRImageBatch** **cmdlet**を使用して、もう一度タグを付けるイメージの説明を取得し、環境変数にそれを書き込みます。この例では、リポジトリ *amazonlinux* に*最新の* タグが付いたイメージが環境変数 *\$1Image* に書き込まれます。
**注記**  
システムで **Get-ECRImageBatch** ** cmdlet**が使用できない場合は、「AWS Tools for PowerShell ユーザーガイド」の「[Setting up the AWS Tools for Windows PowerShell](https://docs.aws.amazon.com/powershell/latest/userguide/pstools-getting-set-up.html)」を参照してください。

   ```
   $Image = Get-ECRImageBatch -ImageId @{ imageTag="latest" } -RepositoryName amazonlinux
   ```

1. *\$1Manifest* 環境変数にイメージのマニフェストを書き込みます。

   ```
   $Manifest = $Image.Images[0].ImageManifest
   ```

1. **Write-ECRImage** ** cmdlet**の `-ImageTag` オプションを使用して、イメージマニフェストを新しいタグで Amazon ECR に配置します。この例では、イメージには *2017.09* というタグが付きます。

   ```
   Write-ECRImage -RepositoryName amazonlinux -ImageManifest $Manifest -ImageTag 2017.09
   ```

1. 新しいイメージタグがイメージにアタッチされていることを確認します。次の出力では、イメージに `latest` と ` 2017.09` のタグが付けられています。

   ```
   Get-ECRImage -RepositoryName amazonlinux
   ```

   出力は次のとおりです。

   ```
   ImageDigest                                                             ImageTag
   -----------                                                             --------
   sha256:359b948ea8866817e94765822787cd482279eed0c17bc674a7707f4256d5d497 latest
   sha256:359b948ea8866817e94765822787cd482279eed0c17bc674a7707f4256d5d497 2017.09
   ```