web-dev-qa-db-fra.com

Comment supprimer une image du registre de conteneurs Azure

Est-il possible de supprimer uniquement des balises spécifiques? J'ai seulement trouvé un moyen de supprimer tout le registre en utilisant le RESTE / cli-acr

Merci

11
rgomesf

Nous renforçons le registre pour notre GA version plus tard ce mois-ci. Nous avons reporté toutes les nouvelles fonctionnalités tout en nous concentrant sur les performances, la fiabilité et les centres de données Azure supplémentaires, en livrant l'ACR à tous les centres de données publics par GA .. Nous allons supprimer les images et les balises dans une version ultérieure. Nous avons commencé à utiliser https://github.com/Azure/acr/ pour suivre les fonctionnalités et les bugs. Delete est capturé ici: https://github.com/Azure/acr/issues/33

Merci pour les commentaires, Steve

6
Steve Lasker

Vous pouvez utiliser Azure CLI 2.0 pour supprimer des images d'un référentiel avec une balise donnée:

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

  • MyRegistry est le nom de votre registre de conteneurs Azure.
  • MyRepository est le nom du référentiel
  • MyTag indique la balise que vous souhaitez supprimer.

Vous pouvez également choisir de supprimer le référentiel entier en omettant --tag MyTag. Pour plus d'informations sur la commande az acr repository delete, rendez-vous ici: https://docs.Microsoft.com/en-us/cli/Azure/acr/repository#delete

5
christianliebel

Voici un script PowerShell qui supprime toutes les balises de registre Azure Container Registry, à l'exception des balises MyTag1 et 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}

Il utilise Azure CLI 2.0 .

3

J'ai eu un problème similaire où je voulais supprimer des images historiques du référentiel, car notre quota avait atteint 100%.

Pour ce faire, j'ai utilisé les commandes suivantes dans Azure CLI 2.0. Le processus effectue les opérations suivantes: obtenir une liste de balises, la filtrer avec grep et la nettoyer avec sed avant de la transmettre à la commande delete.

Obtenir toutes les balises pour le référentiel donné

az acr repository show-tags -n [registry] --repository [repository] 

Récupère toutes les balises commençant par une entrée spécifique et envoie le résultat à celui-ci, ce qui supprimera la virgule.

grep \"[starts with] | sed 's/,*$//g'

A l’aide de xargs, assignez la sortie à la variable X et utilisez-la comme balise. 

--manifest: Supprimer le manifeste référencé par une balise. Cela supprime également toutes les données de couche associées et toutes les autres balises référençant le manifeste.

--oui -y: ne pas demander de confirmation.

xargs -I X az acr repository delete -n [registry] --repository [repository] --tag X --manifest --yes

par exemple. registry = myRegistry, repository = myRepo, je souhaite supprimer toutes les balises commençant par la balise 'test' (ceci comprend test123, les tests, 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

Plus d'informations peuvent être trouvées ici Microsoft Azure Docs

2
D4Dave

À titre de mise à jour, nous avons publié aujourd'hui un aperçu de plusieurs fonctionnalités, notamment le référentiel delete , les connexions et les Webhooks individuels Azure Active Directory. Steve

1
Steve Lasker

Pour la version actuelle

az acr repository untag --name [reponame] --image [imagename]:[tag]

0
quasipolynomial