はじめに
AWSのECR(Amazon Elastic Container Registry)を利用していると、タグが付いていないイメージが発生することがあります。
タグがないと、イメージの管理が難しくなるため、特定のタグを付与することで管理しやすくなります。
この記事では、ECRでタグが付いていないイメージに「test」というタグを付ける方法を解説します。
方法概要
タグが付いていないイメージに新しいタグを付けるには、以下の手順を実施します。
- ECRリポジトリのイメージをリスト表示
-
タグが付いていないイメージの**
imageDigest
**を取得 - 新しいタグを付与
1. タグが付いていないイメージをリスト表示
まず、ECRリポジトリ内のタグが付いていないイメージをリスト表示し、そのimageDigest
を確認します。
コマンド
aws ecr list-images --repository-name <リポジトリ名> --filter "tagStatus=UNTAGGED"
出力例
{
"imageIds": [
{
"imageDigest": "sha256:abcdef123456..."
}
]
}
上記の出力例では、タグが付いていないイメージのimageDigest
が sha256:abcdef123456...
であることがわかります。
2. imageDigest
を使ってタグを付与
取得したimageDigest
に「test」というタグを付けるため、まずイメージのマニフェストを取得します。
コマンド
aws ecr batch-get-image --repository-name <リポジトリ名> --image-ids imageDigest=sha256:abcdef123456 --output json | \
jq -r '.images[0].imageManifest' > manifest.json
次に、取得したマニフェストを使って新しいタグを付与します。
aws ecr put-image --repository-name <リポジトリ名> --image-tag "test" --image-manifest file://manifest.json
これにより、タグが付いていないイメージに「test」というタグが追加されます。
3. タグが正しく付いたか確認
タグが正しく付与されたかどうかを確認するには、以下のコマンドを実行します。
コマンド
aws ecr list-images --repository-name <リポジトリ名>
このコマンドを実行し、指定したタグがリスト内に表示されれば成功です。
まとめ
以上の手順で、ECRのタグが付いていないイメージに「test」というタグを付与することができます。
手順のポイント
-
list-images
コマンドでタグがないイメージを特定 -
batch-get-image
コマンドでマニフェストを取得 -
put-image
コマンドでタグを付与
これにより、ECR上のイメージを整理しやすくなり、運用がスムーズになります。ぜひ試してみてください!