gpt4 book ai didi

azure - 我可以从 Azure 容器注册表中清除所有存储库,而不需要逐一输入所有存储库吗

转载 作者:行者123 更新时间:2023-12-02 06:13:58 24 4
gpt4 key购买 nike

我正在尝试从所有存储库中清理一些 Azure 容器注册表镜像。现在我正在一一输入存储库名称,但这看起来很乏味。

PURGE_CMD="acr purge --filter 'aag:.*' --filter 'aap_6.0:.*' --ago 1d --untagged --keep 7"

az acr task create --name PurgeACRImages \
--cmd "$PURGE_CMD" \
--schedule "5 6 * * 1" \
--registry myregistry \
--timeout 18000 \
--context /dev/null

这里我给出了两个存储库的名称,现在我有 800 个存储库,并且在这个 PURGE_CMD 命令中键入 800 个存储库真的很困难。

我需要一个命令,通过它可以从 ACR 选择所有存储库并将其存储到 PURGE_CMD

最佳答案

我们可以循环 az acr repository list 的输出将存储库名称过滤器连接到 PURGE_CMD变量。

如果您使用的是 Linux 客户端,请从命令行运行以下命令:

PURGE_CMD="acr purge --ago 1d --untagged --keep 7"
for i in $(az acr repository list -n <yourRegistryName> -o tsv);do PURGE_CMD+=" --filter '"$i":.'";done
echo $PURGE_CMD

如果您使用的是 Windows Powershell,请从命令行运行以下命令:

$PURGE_CMD="acr purge --ago 1d --untagged --keep 7"
foreach ($i in $(az acr repository list -n <yourRegistryName> -o tsv)){$PURGE_CMD+=" --filter '"+$i+":.'"}
echo $PURGE_CMD

注意:替换<yourRegistryName>与您的 Azure 容器注册表的名称。

最后你可以运行:

az acr task create --name PurgeACRImages
--cmd "$PURGE_CMD"
--schedule "5 6 * * 1"
--registry myregistry
--timeout 18000
--context /dev/null

关于azure - 我可以从 Azure 容器注册表中清除所有存储库,而不需要逐一输入所有存储库吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68982004/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com