You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Azure容器注册表中删除镜像时如何排除特定标签?

在Azure容器仓库中批量删除标签并排除特定标签的解决方案

可以实现批量删除ACR中指定仓库的所有标签,同时保留特定标签。你的命令问题出在正则表达式格式、语法拼写和过滤规则的写法上,以下是修正方案:

问题分析

你当前的命令存在三个问题:

  1. acr purge的过滤规则格式错误,正确格式应为[镜像仓库名]:[标签正则表达式],而非用.分隔
  2. 正则表达式未精准匹配标签,且存在拼写错误(tag_to_exlude应为tag_to_exclude)
  3. 引号使用不规范,导致shell解析出错

修正后的命令

基础版(仅删除指定仓库下除目标标签外的所有标签)

az acr run --registry <myRegistry> --cmd 'acr purge --filter "myRepo:^(?!tag_to_exclude$).*$"' /dev/null

进阶版(同时删除无标签镜像)

如果需要清理无标签的镜像,可以加上--untagged参数:

az acr run --registry <myRegistry> --cmd 'acr purge --filter "myRepo:^(?!tag_to_exclude$).*$" --untagged' /dev/null

测试版(先验证删除范围,不实际执行删除)

建议先使用--dry-run参数测试,确认待删除的镜像列表,避免误删:

az acr run --registry <myRegistry> --cmd 'acr purge --filter "myRepo:^(?!tag_to_exclude$).*$" --dry-run' /dev/null

参数解释

  • --filter "myRepo:^(?!tag_to_exclude$).*$":正则表达式^(?!tag_to_exclude$).*$用于精确匹配不等于tag_to_exclude的所有标签,$确保不会误删包含该字符串的其他标签(如tag_to_exclude_v2)
  • <myRegistry>:替换为你的ACR实例名称
  • myRepo:替换为目标镜像仓库的名称
  • tag_to_exclude:替换为需要保留的特定标签名称

内容的提问来源于stack exchange,提问作者SOURAV KAR MOHAPATRA

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 14:08:14