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

Azure Static Web App能否从Azure Container Registry拉取镜像及部署容器化镜像?如何操作?

Azure Static Web Apps 容器化部署与ACR镜像拉取说明

Azure Static Web Apps(SWA)支持从Azure Container Registry(ACR)拉取镜像并部署容器化应用——这里的容器部署既可以用于API后端(自定义容器),也可以部署包含静态内容的完整容器化应用。

前提条件

  • 已创建Azure Static Web Apps实例
  • 已创建Azure Container Registry实例,目标镜像已推送到ACR
  • 拥有具备对应权限的Azure账号(需至少包含SWA Contributor、ACR Pull权限)

具体操作步骤

1. 配置SWA访问ACR的权限

首先要让SWA有权限从ACR拉取镜像,最直接的方式是给SWA的系统分配标识添加AcrPull角色:

  • 登录Azure Portal,进入你的ACR实例,选择「访问控制(IAM)」
  • 点击「添加角色分配」,角色选择「AcrPull」,成员类型选「托管标识」,然后选中你的SWA实例对应的系统标识,完成添加
  • 也可以用Azure CLI快速配置:
    az role assignment create --assignee <SWA系统标识ID> --role AcrPull --scope <ACR资源ID>
    

2. 部署容器到SWA

方式一:Azure Portal可视化配置

  • 进入你的SWA实例,选择「配置」>「API」
  • 将API类型切换为「自定义容器」
  • 填写ACR镜像地址(格式:your-acr-name.azurecr.io/your-image:tag)
  • 设置容器监听的端口(比如默认的80)
  • 保存配置后,SWA会自动触发镜像拉取和部署流程

方式二:Azure CLI命令行部署

使用az staticwebapp config set命令直接配置容器参数:

az staticwebapp config set --name <你的SWA名称> --resource-group <资源组名称> --api-location "container" --api-image <ACR镜像地址> --api-port <容器端口>

方式三:CI/CD流水线部署(以GitHub Actions为例)

在你的GitHub仓库中添加SWA部署的Workflow,指定容器相关参数:

- name: Deploy to Azure Static Web Apps
  uses: Azure/static-web-apps-deploy@v1
  with:
    azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_TOKEN }}
    api_location: "container"
    api_image: "your-acr-name.azurecr.io/your-image:latest"
    api_port: "80"

注意事项

  • 目前SWA仅支持Linux容器,暂不支持Windows容器
  • 容器需满足SWA运行要求:API容器必须监听指定端口并能处理HTTP请求;静态内容容器需正确配置静态文件服务端口,确保SWA能路由到静态资源

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 13:34:57