使用CLI在现有VNet创建Azure容器实例时出现异常问题
问题:Azure CLI指定VNet ID创建容器实例时意外新建同名VNet
我按照官方文档指引,尝试通过CLI在现有虚拟网络(VNet)中创建Azure容器实例,执行命令时传入了VNet的ID作为--vnet参数,命令如下:
az container create \ --resource-group 123 <...> --vnet 944xxxxx-xxxx-xxxx-xxxx-xxxxxb0c9b0
但实际Azure却创建了一个以该ID命名的新VNet。请问这是Bug吗?
官方文档中关于--vnet参数的说明(已翻译):
--vnet 创建新虚拟网络或引用现有虚拟网络时的名称。也可以通过ID引用现有虚拟网络,这允许使用来自其他资源组的虚拟网络。
这不是Bug,核心原因是引用现有VNet时必须同时指定对应的子网。
Azure容器实例必须部署到VNet的子网中,当你仅传入VNet ID但未添加--subnet参数时,CLI会默认判定你要创建新VNet(将传入的ID当作VNet名称处理),并自动生成默认子网。
正确的命令需要同时指定--subnet参数,传入现有VNet中已存在的子网名称或ID:
az container create \ --resource-group 123 <...> --vnet 944xxxxx-xxxx-xxxx-xxxx-xxxxxb0c9b0 --subnet 你的子网名称或完整ID
额外注意事项:
- 指定的子网必须属于目标VNet,且未被其他独占型服务占用(比如已关联AKS的子网无法用于容器实例)
- 如果VNet与容器实例不在同一资源组,建议使用VNet和子网的完整ID,避免名称歧义
内容的提问来源于stack exchange,提问作者Alex Dembo
相关产品推荐
相关产品推荐

