これはなに?
AWS CLIでECRの untagged イメージにタグ名をつける手順メモ。
公式の手順だとイメージ変更にタグ名が必要だが、そもそもタグが付いてないイメージなので困って調べた。
イメージにもう一度タグを付ける - Amazon ECR
目次
実行環境
- AmazonLinux2
作業
1. タグ名を変更したいイメージの ”imageDigest" 値を取得する。
aws ecr describe-images --profile <your_profile_name> --repository-name <your_repo_name>
2. マニフェストを作成する。
ここが肝で、--image-ids に imageDigest を指定します。
sha256:xxxx の部分は、1で取得した値を入れます。
MANIFEST=$(aws ecr batch-get-image --profile <your_profile_name> --repository-name <your_repo_name> --image-ids "imageDigest=sha256:xxxx" --query 'images[].imageManifest' --output text)
3. タグ名を変更する。
<tag_name> に任意のタグ名を入れてください。
aws ecr put-image --profile <your_profile_name> --repository-name <your_repo_name> --image-tag <tag_name> --image-manifest "$MANIFEST"
4. 実行結果を確認する。
aws ecr describe-images --profile <your_profile_name> --repository-name <your_repo_name>
untaggedの時にはなかったimageTagsという項目が表示されていれば設定完了です。
最後に
WindowsだとマニフェストのJSONをうまく認識させられずInvalidになりました、、。機会があれば調べよう。