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

使用Terraform创建的ACR清理任务运行报错:找不到acr:latest镜像

问题原因及解决方案

问题根源

你的ACR任务尝试拉取acr:latest镜像,是因为任务步骤中直接使用了acr purge命令,但未指定该命令所属的官方容器镜像。ACR任务会将未关联镜像的cmd字段内容视为镜像名称去拉取,导致找不到对应的镜像资源。

acr purge是微软提供的专用清理工具,封装在mcr.microsoft.com/acr/acrpurge容器镜像中,必须显式指定该镜像才能正确执行清理操作。

修正后的Terraform代码

修改azurerm_container_registry_task中的task_content部分,添加镜像指定并调整命令格式:

resource "azurerm_container_registry_task" "acr_purge_task" {
  name                  = "scheduledAcrPurgeTask"
  container_registry_id = azurerm_container_registry.acr.id
  platform {
    os           = "Linux"
  }
  encoded_step {
    task_content = <<EOF
version: v1.1.0
steps:
  - image: mcr.microsoft.com/acr/acrpurge:latest
    cmd: ["--filter", "REPO:TEST.*", "--untagged", "--ago", "10m"]
    disableWorkingDirectoryOverride: true
    timeout: 3600
EOF
    context_path = "/dev/null"
  }
  timer_trigger {
    name     = "t1"
    schedule = "*/15 * * * *"
    enabled  = true
  }
}

关键修改点

  • 添加image: mcr.microsoft.com/acr/acrpurge:latest,指定使用官方的ACR清理工具镜像
  • 将cmd内容改为数组格式,确保命令参数正确传递
  • 移除多余的缩进(YAML格式对缩进敏感,原代码中的缩进可能导致解析问题)

另外,确保你的ACR任务拥有足够的权限来执行清理操作,默认情况下任务会使用ACR的系统身份,需确认该身份具备仓库的删除权限。

内容的提问来源于stack exchange,提问作者Coder

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 07:45:25