【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

 


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

相关文章
|
2月前
|
NoSQL 网络协议 Cloud Native
【Azure Redis】云原生环境下的 Redis 超时之谜:为什么 15 分钟后应用才恢复?
云原生中Redis短暂不可用后应用持续超时15分钟?问题不在Redis,而在Linux TCP默认重传机制(tcp_retries2=15)与长连接模型的错位。需三管齐下:调低内核重传次数、客户端显式配置超时与自动重连、应用层引入断路器与弹性重试。
216 20
|
18天前
|
数据采集 JSON API
小红书笔记详情API实战总结(技术复盘)
本文为小红书笔记详情API实战复盘,涵盖OAuth2.0鉴权、代理与指纹配置避封、限流/风控应对等关键问题。详解note_id、access_token等核心参数及结构化返回字段(内容/媒体/互动/作者),助力竞品分析与内容监测。(239字)
|
2月前
|
机器学习/深度学习 人工智能 数据可视化
Geo优化新范式:深度解析知识图谱构建工具与“双核四驱”实战策略
在生成式AI重塑信息分发的今天,SEO正升级为Geo(生成式引擎优化)。本文详解Geo底层逻辑:以知识图谱为枢纽,融合Protégé建模、Neo4j图谱、BERT抽取与JSON-LD标记,结合于磊首创“两大核心+四轮驱动”体系,助力企业提升AI引用率与数字可见度。
176 9
|
24天前
|
云安全 存储 弹性计算
【省钱必看】阿里云优惠券领取教程及使用指南
阿里云优惠券是上云省钱利器!本文详解代金券、满减券、折扣券三类优惠,覆盖通用及指定商品,并提供权益中心等四大领取入口,以及支付抵扣、账单自动抵扣等实用指南,助力大家低成本高效上云!
188 13
|
2月前
|
人工智能 自然语言处理 安全
OpenClaw 对接飞书完整教程:企业IM快速集成指南
本文为OpenClaw对接飞书的完整教程,涵盖飞书开放平台凭证获取(App ID/Secret)、OpenClaw后台配置步骤、常见问题排查及对接后使用说明,流程清晰、安全规范,助力企业快速集成AI能力至飞书,提升协同效率。
|
2月前
|
弹性计算
阿里云管理控制台入口链接大全:云服务器ECS和轻量应用服务器入口整理
阿里云管理控制台官方入口大全:含ECS与轻量应用服务器产品页及后台直达链接;统一首页为所有云服务导航中枢,支持快速切换与高效管理,新手入门必备指南。
|
11天前
|
SQL 人工智能 关系型数据库
【MySQL百日打怪升级第24天】EXPLAIN 执行计划解读 —— type/key/rows/Extra
本文详解MySQL执行计划核心字段:type(访问类型,ALL/index需警惕)、rows(扫描行数,重在比例)、Extra(性能关键,关注Using index/filesort等)。结合实战案例与索引优化技巧,助DBA及开发者快速定位慢查根源,直击面试高频考点。
95 5
|
30天前
|
消息中间件 网络协议 测试技术
socket长连接在手游场景下的技术实践
本文介绍了37手游基于B站goim框架自研长连接系统的实践。系统采用分层设计,支持多协议和发布/订阅机制,用于直播弹幕、实时推送等场景,实现了高性能与业务适配。
161 4
socket长连接在手游场景下的技术实践
|
19天前
|
存储 弹性计算 人工智能
2026年阿里云优惠券领取及使用教程,新购、续费、升级可用!
阿里云2026年推出多类优惠券(代金券、满减券、折扣券),覆盖学生300元无门槛券、新用户10元满减、AI焕新季礼包等,适用于ECS、OSS等主流云产品,不支持域名及云市场商品。可通过权益中心、高校计划等入口领取,登录费用中心查看并结算时自动抵扣。
146 6
|
18天前
|
SQL 关系型数据库 MySQL
【MySQL百日打怪升级第20天】行锁 vs 表锁 —— InnoDB 什么时候锁行、什么时候锁表?
【第20天】MySQL锁机制精讲!深入解析InnoDB行锁与表锁的本质区别:行锁依赖索引,无索引则全表扫描→实际锁全表;详解Record/Gap/Next-Key三种行锁、意向锁作用及锁诊断实战(PS视图+INNODB STATUS)。避坑指南:UPDATE/DELETE务必走索引!
107 3