I had a similar problem where I wanted to remove historical images from the repository as our quota had reached 100%
I was able to do this by using the following commands in the Azure CLI 2.0. The process does the following : obtain a list of tags, filter it with grep and clean it up with sed before passing it to the delete command.
Get all the tags for the given repository
az acr repository show-tags -n [registry] --repository [repository]
Get all the tags that start with the specific input and pipe that to sed which will remove the trailing comma
grep \"[starts with] | sed 's/,*$//g'
Using xargs, assign the output to the variable X and use that as the tag.
--manifest :
Delete the manifest referenced by a tag. This also deletes any associated layer data and all other tags referencing the manifest.
--yes -y : Do not prompt for confirmation.
xargs -I X az acr repository delete -n [registry] --repository [repository] --tag X --manifest --yes
e.g. registry = myRegistry, repository = myRepo, I want to remove all tags that start with the tagname 'test' ( this would include test123, testing etc )
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
As an update, today we've released a preview of several features including repository delete, Individual Azure Active Directory Logins and Webhooks.
Steve
We are hardening up the registry for our GA release later this month. We've deferred all new features while we focus on performance, reliability and additional azure data centers, delivering ACR across all public data centers by GA.
We will provide deleting of images and tags in a future release.
We're started to use https://github.com/Azure/acr/ to track features and bugs.
Delete is captured here: https://github.com/Azure/acr/issues/33
For current version
az acr repository untag --name [reponame] --image [imagename]:[tag]
I had a similar problem where I wanted to remove historical images from the repository as our quota had reached 100%
I was able to do this by using the following commands in the Azure CLI 2.0. The process does the following : obtain a list of tags, filter it with grep and clean it up with sed before passing it to the delete command.
Get all the tags for the given repository
Get all the tags that start with the specific input and pipe that to sed which will remove the trailing comma
Using xargs, assign the output to the variable X and use that as the tag.
e.g. registry = myRegistry, repository = myRepo, I want to remove all tags that start with the tagname 'test' ( this would include test123, testing etc )
More information can be found here Microsoft Azure Docs
As an update, today we've released a preview of several features including repository delete, Individual Azure Active Directory Logins and Webhooks. Steve
You can use Azure CLI 2.0 to delete images from a repository with a given tag:
az acr repository delete -n MyRegistry --repository MyRepository --tag MyTag
MyRegistry
is the name of your Azure Container RegistryMyRepository
is the name of the repositoryMyTag
denotes the tag you want to delete.You can also choose to delete the whole repository by omitting
--tag MyTag
. More information about theaz acr repository delete
command can be found here: https://docs.microsoft.com/en-us/cli/azure/acr/repository#deleteHere is a powershell script that deletes all Azure Container Registry tags except for tags MyTag1 and MyTag2:
It uses Azure CLI 2.0.
We are hardening up the registry for our GA release later this month. We've deferred all new features while we focus on performance, reliability and additional azure data centers, delivering ACR across all public data centers by GA. We will provide deleting of images and tags in a future release. We're started to use https://github.com/Azure/acr/ to track features and bugs. Delete is captured here: https://github.com/Azure/acr/issues/33
Thanks for the feedback, Steve