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

Azure Container App自定义Vnet部署报错InvalidParameterValueInContainerTemplate求助

问题解决:Azure容器环境自定义VNet下MCR镜像拉取失败

问题现象

部署快速启动镜像到关联自定义VNet(含自定义DNS、内部访问模式)的Azure容器环境时,出现以下错误:

The following field(s) are either invalid or missing. Field 'template.containers.simple-hello-world-container-image' is invalid with details: 'Invalid Value: "mcr.microsoft.com/k8se/quickstart:latest": Get "https://mcr.microsoft.com/v2/:EOF'

不使用自定义VNet时部署正常,说明问题出在自定义VNet的网络配置上。

排查与解决方案

1. 自定义DNS配置验证

  • 测试DNS解析:在VNet内的虚拟机执行nslookup mcr.microsoft.com,如果无法解析到有效IP,说明自定义DNS无法处理公共域名查询:
    • 调整自定义DNS设置,添加公共DNS转发(如转发到Azure公共DNS 168.63.129.16)
    • 若使用私有DNS区域,需手动添加mcr.microsoft.com的A/AAAA记录指向其公网IP范围

2. 出站流量规则检查

  • 网络安全组(NSG):添加出站允许规则,目标选择服务标签 AzureContainerRegistry,端口指定443(MCR通过HTTPS提供镜像服务)
  • Azure防火墙(若启用):配置应用规则允许访问mcr.microsoft.com,同时确保TLS检查不会阻断与MCR的连接(EOF错误常由TLS握手中断引发)

3. VNet路由表配置确认

  • 检查VNet关联的路由表,确保存在0.0.0.0/0的默认路由,下一跳指向可中转公网流量的资源(如Azure防火墙、NVA)
  • 若无默认路由,容器环境的出站请求无法到达MCR,需补充路由配置

4. 快速验证测试

  • 在VNet内虚拟机执行docker pull mcr.microsoft.com/k8se/quickstart:latest,复现镜像拉取流程,直接定位网络问题
  • 用curl -v https://mcr.microsoft.com/v2/查看HTTPS连接细节,区分是DNS解析失败、连接超时还是TLS错误导致的EOF问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 19:52:25