参考
https://qiita.com/satoken/items/da8b65b349cf282cb5bb
準備
aws cliを使えるようにしておく
使ってみる
- リポジトリ作成
- aws ecr create-repository --repository-name ecr_test
- または、AWSコンソールで作成
- docker のリポジトリを作成したリポジトリにする(ログイン)
- ログインコマンド生成
- aws ecr get-login --no-include-email
- ログイン
- 上記で出力されたコマンドを実行
- ログインコマンド生成
- push するイメージのタグを作成
- docker tag hello-world:latest 999999999.dkr.ecr.ap-northeast-1.amazonaws.com/ecr_test:v1.0
- イメージをpushする
- docker push 999999999.dkr.ecr.ap-northeast-1.amazonaws.com/ecr_test:v1.0
- イメージ確認
- aws ecr list-images --repository-name ecr_test
その他
ECRのタグなしimageをcliで削除する
方法1
IMAGES_TO_DELETE=$( aws ecr list-images --region $ECR_REGION --repository-name $ECR_REPO --filter "tagStatus=UNTAGGED" --query 'imageIds[*]' --output json ) aws ecr batch-delete-image --region $ECR_REGION --repository-name $ECR_REPO --image-ids "$IMAGES_TO_DELETE" || true
方法2
aws ecr describe-repositories --output text | awk '{print $5}' | while read line; do aws ecr list-images --repository-name $line --filter tagStatus=UNTAGGED --query 'imageIds[*]' --output text | while read imageId; do aws ecr batch-delete-image --repository-name $line --image-ids imageDigest=$imageId; done; done
方法3
ライフサイクルポリシールールでタグなしimageを自動的に削除できる
[通知用URL]
Tweet
最終更新時間:2021年01月07日 21時39分19秒