Azure CLI:通过一个命令删除存储库中所有未标记的图像

Nic*_*ury 6 azure azure-cli azure-container-registry

我将 Docker 映像存储在 Azure 上的私有存储库中。每次我将具有相同标签(例如最新)的图像推送到该存储库时,前一个图像就会变为未标记的,但仍保留在存储库中。这导致存储库中堆积了大量未标记的图像。我想要一个使用 azure cli 的命令来一次性删除所有未标记的图像。

例如,输入以下命令:

az acr repository show-manifests -n myRegistry --repository myRepo

返回 d24-staging-fuzzy-search-srv 存储库的几个清单:

[ { "digest": "sha256:blablabla1", "tags": null, "timestamp": "t1" }, { "digest": "sha256:blablabla2", "tags": null, "timestamp": "t2" }, { "digest": "sha256:blablabla3", "tags": [ "latest" ], "timestamp": "t3" }]

我想在 azure cli 中使用一个命令来删除所有具有“null”标签的 mainfest,并保留具有“latest”标签的 mainfest

Joy*_*ang 1

尝试使用下面的命令。

az acr repository delete -n yourRegistry --image yourRepo:null
Run Code Online (Sandbox Code Playgroud)

欲了解更多详细信息,请参阅这篇文章

通过标签删除图像。这将删除“hello-world:latest”引用的清单、引用该清单的所有其他标签以及任何关联的图层数据。

az acr repository delete -n MyRegistry --image hello-world:latest