【Azure App Service】在App Service中使用az cli命令创建 Sidecar Container

简介: 本文详解 Azure App Service 中 Sidecar 容器的 CLI 实现方案。针对门户无“Container”选项的问题,提供 `az webapp sitecontainers create/update` 命令的完整六步操作流程(含环境配置、主/边车容器部署),并支持状态验证与最佳实践说明,替代繁琐 ARM 模板。

问题描述

在使用 Azure App Service 时,参考官方文档发现支持 Sidecar Container。

但在实际创建或已有的 App Service 实例中,无法在门户中找到“Container”的相关选项,无法启动Sidecar。

文档上提出使用ARM模板的方式启动,虽然也是可以,但想知道有没有更简洁的方式(使用az cli命令)来实现这个目的呢?

 

问题解答

当然可以实现。

使用 az webapp sitecontainers create/update 就可以实现创建 Sidecar Container。

 

执行步骤

第一步:固定云和订阅

az cloud set --name AzureChinaCloud


az login


az account set --subscription <your subscription id>


az account show --query "{sub:id,name:name,user:user.name}" -o table


第二步:设置变量(可改)

$loc = "chinaeast2"

$rg = "your resource group name"

$plan = "your app service plan"

$app = "your app service name"


第三步:创建资源组 + Linux Plan

az group create -n $rg -l $loc

az appservice plan create -g $rg -n $plan --is-linux --sku B1 -l $loc


第四步:创建 WebApp(注意策略要求 https-only)

az webapp create -g $rg -p $plan -n $app --runtime PYTHON:3.11 --https-only true

az webapp log config -g $rg -n $app --docker-container-logging filesystem


第五步:创建主容器 main(sitecontainers)

az webapp sitecontainers create -g $rg -n $app --container-name main --image mcr.microsoft.com/dotnet/samples:aspnetapp --target-port 8080 --is-main true --startup-cmd "dotnet aspnetapp.dll" -o none


第六步:创建 sidecar(最小镜像、可探活)

az webapp sitecontainers create -g $rg -n $app --container-name sidecar --image mcr.microsoft.com/azuredocs/aci-helloworld --target-port 80 --is-main false

 

验证方式

当以上六步执行完成后,可以使用如下的命令来验证当前app下的container及状态

az webapp sitecontainers list -g $rg -n $app -o table

az webapp sitecontainers status -g $rg -n $app -o table

az webapp sitecontainers status -n $app -g $rg --container-name "sidecar" -o json

 

以上命令,只需要在第二步修改变量名称后,就可以成功执行

 

附录

1:什么是 Sidecar

Sidecar 是一种容器架构模式:

  • 一个主容器(Main container)负责核心业务
  • 一个或多个 Sidecar 容器负责辅助能力,例如:
  • 日志收集
  • 代理(如 Envoy)
  • 配置同步
  • 安全或监控

它们共享:同一主机环境 和 网络命名空间(通常 localhost 通信)

 

2:在 App Service 中的实现(SiteContainers)

  • Sidecar 模式通过 sitecontainers 资源定义
  • 主容器与 sidecar 是独立声明的容器对象
  • 每个容器有自己的配置(镜像、registry、认证等)

不再依赖传统 WebApp 的 App Settings(如 DOCKER_REGISTRY), 所有容器配置必须在 sitecontainers 中重新定义。

 

参考资料

在 Azure 应用服务中为 Linux 应用配置边车容器:https://docs.azure.cn/zh-cn/app-service/tutorial-sidecar?tabs=portal#3-add-a-sidecar-container

az webapp sitecontainers create : https://learn.microsoft.com/en-us/cli/azure/webapp/sitecontainers?view=azure-cli-latest#az-webapp-sitecontainers-create

 


当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!

相关文章
|
7月前
|
人工智能 数据可视化 BI
企业智能体能否替代财务人员?专家深度解读
大模型与企业智能体正推动财务数字化转型,自动记账、报税等重复工作已可自动化。但AI无法替代财务人员的战略决策、风险把控与业务协同能力。本文厘清人机边界,倡导“赋能而非替代”,助力财务人转向高价值分析与决策岗位。
677 2
|
6月前
|
人工智能 自然语言处理 前端开发
AI赋能跨境代购!taocarts智能选品+自动翻译+风控,降本增效新路径(附AI代码)
随着反向海淘行业的竞争加剧,“效率提升”成为代购从业者的核心诉求——人工选品耗时耗力、多语言翻译不精准、虚假订单欺诈等问题,严重制约行业规模化发展。taocarts跨境独立站系统融入AI技术,结合React、Laravel框架,实现AI智能选品、自动翻译、交易风控三大核心功能,依托阿里云AI服务,为代购从业者提供智能化解决方案,从技术层面实现降本增效,以下从AI技术实现、功能落地等角度,为阿里云社区开发者提供干货分享。
405 4
|
3月前
|
前端开发 API C++
【Azure APIM】通过 API Management 公开API为 MCP Server 的试验 (二)
本文详解如何将 Azure API 管理(APIM)中已有的 REST API(如 Echo API)快速配置为 MCP 服务器,涵盖创建步骤、VS Code 配置、常见连接错误(如 SSE 流终止)及关键规避方案——禁用全局响应日志有效负载记录,并建议仅暴露单个 GET 操作以确保稳定。
196 1
|
3月前
|
人工智能 监控 API
【Azure APIM】通过 API Management 公开现有 MCP Server 的试验 (一)
本文介绍如何利用Azure API Management(APIM)代理公开现有MCP Server,实现统一鉴权、限流、审计与网络管控。通过APIM暴露Microsoft Learn MCP服务,并在VS Code中配置GitHub Copilot调用,验证AI工具集成方案。
158 2
|
4月前
|
存储 网络安全
【Azure Policy】Policy修正任务为Azure资源添加诊断日志报错问题的调查
本文详解Azure Policy修正任务部署失败原因:诊断日志(Microsoft.Insights/diagnosticSettings)作为扩展资源,必须通过`scope`属性指定父资源,而非将路径拼入`name`。提供正确ARM模板写法及两点解决要点,助您快速修复合规配置问题。
137 0
|
6月前
|
人工智能 自然语言处理 供应链
为什么 MCP 在协议层会有 prompt injection的问题:工具描述如何劫持 agent 上下文
MCP(Model Context Protocol)虽成AI Agent主流集成标准,但其将工具描述全量注入上下文的设计,导致“Context Poisoning”——恶意指令可借工具元数据污染LLM推理。OWASP将其列为LLM应用头号漏洞,2025年已致超10万站点遭袭。根本风险在于协议层信任模型缺失,非清洗不可用。
409 12
为什么 MCP 在协议层会有 prompt injection的问题:工具描述如何劫持 agent 上下文
|
5月前
|
SQL 自然语言处理 数据挖掘
智能问数如何帮助企业实现从'看报表'到'问问题'的思维转变?
截至2026年5月,企业数据智能正从“看报表”迈向“问问题”,核心是将数据分析权下放至业务一线。当前主流技术路线有三:预置指标层(易用但扩展难)、NL2SQL(通用性强但准确率低)、本体语义层(如UINO优锘科技,准确率高、跨域能力强,需前置语义治理)。选型关键不在技术先进性,而在匹配企业数据基础、问题复杂度与长期演进需求。
|
7月前
|
弹性计算
阿里云管理控制台入口链接大全:云服务器ECS和轻量应用服务器入口整理
阿里云管理控制台官方入口大全:含ECS与轻量应用服务器产品页及后台直达链接;统一首页为所有云服务导航中枢,支持快速切换与高效管理,新手入门必备指南。
|
6月前
|
前端开发 安全 小程序
一站式陪诊平台源码开发:预约、支付、评价全流程拆解
随着医疗服务需求升级,陪诊平台逐渐成为热门赛道。本文从软件开发视角出发,系统拆解一站式陪诊平台源码的核心功能模块,包括预约管理、支付系统、服务履约与评价体系,深入分析其技术实现与商业逻辑。
|
6月前
|
人工智能 JSON 编解码
golang中MetaMessage(mm)的使用
MetaMessage(mm)是面向AI/人类/机器的下一代结构化数据交换协议,自描述、自约束、自示例,支持无损序列化。Go中仅需4个API即可实现结构体与JSONC双向编解码,完美替代JSON/Protobuf等方案。(239字)
183 3