我能否从 Azure 容器注册表中清除所有存储库,而无需逐个输入所有存储库
Ho can I purge all repository from Azure container registry without entering all repository one-by-ne
我正在尝试从所有存储库中清除少量 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 个存储库真的很难。
我需要一个命令,通过它我可以 select 来自 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 容器注册表映像。现在我正在一个接一个地输入存储库名称,但这看起来很乏味。
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 个存储库真的很难。
我需要一个命令,通过它我可以 select 来自 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