AWS CLI, список изображений ECR, которые я указываю с тегами

Допустим, "foo" - это имя репозитория, и я хочу назвать изображение с двумя тегами "boo, boo-0011".

Эта команда отображает все изображения в хранилище:

aws ecr description-images --repository-name foo --query "sort_by(imageDetails,& imagePhedAt)[ * ].imageTags[ * ]"

Из этого как мне grep только тот который имеет тэг "boo"

1 ответ

Ты можешь использовать --filter tagStatus=xxx но это позволяет фильтровать только изображения с метками или без меток, но не с определенным тегом.

Чтобы найти изображения с определенным тегом, скажем, booВы должны быть в состоянии использовать несколько непостижимую, но очень полезную утилиту jq. Например:

aws ecr describe-images \
    --region us-east-1 \
    --repository-name foo \
    --filter tagStatus=TAGGED \
    | jq -c '.imageDetails[] | select([.imageTags[] == "boo"] | any)'

Лично я использую для этого grep

aws ecr describe-images --repository-name foo --query "sort_by(imageDetails,& imagePushedAt)[ * ].imageTags[ * ]" | grep -w 'boo'

-w - это команда grep для сопоставления всего слова.

Другие вопросы по тегам