2017-01-03 5 views
5

Есть ли способ удалить только те теги? Я только нашел способ, чтобы удалить весь реестр с помощью REST/cli-acrКак удалить изображение из Azure Container Registry

Благодаря

+1

Похоже, что сейчас нет способа сделать это. Функция удаления будет реализована только в будущей версии. – rgomesf

ответ

5

Мы твердения до реестра для нашего выпуска GA позже в этом месяце. Мы отложили все новые функции, сосредоточившись на производительности, надежности и дополнительных лазурных центрах обработки данных, предоставляя ACR во всех публичных центрах обработки данных компанией GA. Мы предоставим удаление изображений и тегов в будущей версии. Мы начали использовать https://github.com/Azure/acr/ для отслеживания функций и ошибок. Удалить захватывается здесь: https://github.com/Azure/acr/issues/33

Спасибо за обратную связь, Стив

1

Как обновление, сегодня мы выпустили предварительный просмотр нескольких функций, включая хранилище delete, Individual Azure Логины Active Directory и Webhooks. Steve

3

Вы можете использовать Azure CLI 2.0 для удаления изображений из хранилища с данным тегом:

az acr repository delete -n MyRegistry --repository MyRepository --tag MyTag

  • MyRegistry это имя вашего Лазурном контейнер реестра
  • MyRepository это имя из репозиторий
  • MyTag обозначает тег, который вы хотите удалить.

Вы также можете удалить весь репозиторий, опуская --tag MyTag. Более подробную информацию о команде az acr repository delete можно найти здесь: https://docs.microsoft.com/en-us/cli/azure/acr/repository#delete

1

У меня была аналогичная проблема, когда я хотел, чтобы удалить исторические образы из хранилища, как наша квота достигла 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 

например, реестра = myRegistry, репозиторий = myRepo, я хочу, чтобы удалить все теги, которые начинаются с тэгом «тест» (это будет включать 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

1

Здесь это скрипт, который PowerShell удаляет все теги Azure Контейнер реестра для тегов мойтег1 и 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.

Смежные вопросы