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

推送Docker镜像时自动更新Azure Container Apps应用

实现Azure Container Apps自动更新(基于ACR的develop镜像推送)

前提条件

  • 已完成Azure Container Apps实例部署,且当前使用的镜像存储在你的Azure Container Registry(ACR)中
  • ACR与Container Apps处于同一Azure租户,确保资源间有权限互通

步骤1:给ACR配置镜像推送事件通知

登录Azure门户,找到你的ACR实例:

  • 进入事件菜单下的事件订阅,点击「+ 添加」创建新订阅
    • 订阅名可自定义,比如acr-develop-push-trigger
    • 事件类型只勾选镜像推送
    • 筛选条件里设置镜像标签为develop,确保只有推该标签的镜像才会触发事件

步骤2:把事件订阅目标指向Container Apps

在事件订阅的目标详情区域:

  • 目标类型选择Azure Container Apps
  • 选中你要自动更新的Container Apps实例
  • 系统会自动尝试配置权限,如果提示权限不足,手动给ACR的服务主体分配Container Apps Contributor权限到Container Apps所在的资源组

步骤3:验证自动更新效果

  • 本地构建并推送develop标签镜像到ACR:
    docker build -t 你的ACR名称.azurecr.io/你的镜像名:develop .
    docker push 你的ACR名称.azurecr.io/你的镜像名:develop
    
  • 等待数分钟后,打开Container Apps的修订版本页面,查看是否生成新的修订版本
  • 如果新修订未自动激活,进入Container Apps的配置页面,将修订版本模式改为Multiple并开启自动激活选项

用Azure CLI快速配置(备选)

习惯命令行操作的话,直接执行以下命令:

  1. 创建事件订阅:
az eventgrid event-subscription create \
  --name acr-develop-push-sub \
  --source-resource-id /subscriptions/<你的订阅ID>/resourceGroups/<资源组名>/providers/Microsoft.ContainerRegistry/registries/<ACR名称> \
  --endpoint-type azurecontainerapp \
  --endpoint /subscriptions/<你的订阅ID>/resourceGroups/<资源组名>/providers/Microsoft.App/containerApps/<Container Apps名称> \
  --included-event-types Microsoft.ContainerRegistry.ImagePushed \
  --subject-filter-suffix ":develop"
  1. 补全权限(若需要):
az role assignment create \
  --assignee <ACR的服务主体ID> \
  --role "Container Apps Contributor" \
  --scope /subscriptions/<你的订阅ID>/resourceGroups/<资源组名>/providers/Microsoft.App/containerApps/<Container Apps名称>

内容的提问来源于stack exchange,提问作者Lóri Nóda

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 11:27:10