Есть ли способ удалить только те или иные теги? Я только нашел способ удалить весь реестр, используя REST/cli-acr
Спасибо
Есть ли способ удалить только те или иные теги? Я только нашел способ удалить весь реестр, используя REST/cli-acr
Спасибо
Мы ужесточили реестр для выпуска GA в конце этого месяца. Мы отложили все новые функции, сосредоточившись на производительности, надежности и дополнительных лазурных центрах обработки данных, предоставляя ACR во всех публичных центрах обработки данных компанией GA. Мы предоставим удаление изображений и тегов в будущей версии. Мы начали использовать https://github.com/Azure/acr/ для отслеживания функций и ошибок. Удалить здесь: https://github.com/Azure/acr/issues/33
Спасибо за отзывы, Стив
Вы можете использовать Azure CLI 2.0 для удаления изображений из репозитория с указанным тегом:
az acr repository delete -n MyRegistry --repository MyRepository --tag MyTag
MyRegistry
- это имя вашего реестра контейнеров AzureMyRepository
- это имя хранилищаMyTag
обозначает тег, который вы хотите удалить.Вы также можете удалить весь репозиторий, пропустив --tag MyTag
. Более подробную информацию о команде az acr repository delete
можно найти здесь: https://docs.microsoft.com/en-us/cli/azure/acr/repository#delete
Вот сценарий powershell, который удаляет все теги реестра Azure Container, кроме тегов MyTag1 и MyTag2:
az acr repository show-tags -n MyRegistry --repository MyRepository | ConvertFrom-String | %{$_.P2 -replace "['",]",""} | where {$_ -notin "MyTag1","MyTag2" } | % {az acr repository delete -n MyRegistry --repository MyRepository --tag $_ --yes}
Он использует Azure CLI 2.0.
У меня была аналогичная проблема, когда я хотел удалить исторические изображения из репозитория, так как наша квота достигла 100%
Я смог сделать это, используя следующие команды в Azure CLI 2.0. Процесс выполняет следующее: получает список тегов, фильтрует его с помощью grep и очищает его с помощью sed, прежде чем передавать его команде delete.
Получить все теги для данного репозитория
az acr repository show-tags -n [registry] --repository [repository]
Получите все теги, которые начинаются с конкретного ввода и канала, которые будут переданы в sed, которые удалят конечную запятую
grep \"[starts with] | sed 's/,*$//g'
Используя xargs, назначьте вывод переменной X и используйте это как тег.
- манифест: Удалите манифест, на который ссылается тег. Это также удаляет любые связанные данные слоя и все другие теги, ссылающиеся на манифест.
- yes -y: не запрашивать подтверждение.
xargs -I X az acr repository delete -n [registry] --repository [repository] --tag X --manifest --yes
например. registry = myRegistry, repository = myRepo, я хочу удалить все теги, которые начинаются с тега 'test' (это будет включать test123, тестирование и т.д.)
az acr repository show-tags -n myRegistry --repository myRepo | grep \"test | sed 's/,*$//g' | xargs -I X az acr repository delete -n myRegistry --repository myRepo --tag X --manifest --yes
Более подробную информацию можно найти здесь Microsoft Azure Docs
В качестве обновления сегодня мы выпустили предварительный просмотр нескольких функций, включая репозиторий delete, отдельные логические учетные записи Active Directory и веб-узлы Azure, Стив
Я перепробовал все команды, но ни одна из них не сработала. Я подумал, что их можно сложить, поэтому я пошел на свой портал Azure и самостоятельно удалил свое хранилище. Оно работает