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

将Docker镜像发布至Azure容器注册表时遇错误求助

解决.NET Core Docker镜像推送Azure容器注册表的问题

1. 修正Dockerfile中的SDK版本

Docker构建时使用的是镜像内的SDK,不是你本地安装的版本。如果你的Dockerfile里用了mcr.microsoft.com/dotnet/sdk:5.0,它会自动拉取5.x分支的最新版本(即5.0.408),若网络拉取失败就会触发NuGet相关错误。

  • 解决方案:要么指定一个稳定可访问的具体版本标签,要么升级项目兼容更高版本SDK:
    # 替换为指定版本的SDK镜像
    FROM mcr.microsoft.com/dotnet/sdk:5.0.400 AS build
    

2. 修复NuGet源访问问题

错误关联NuGet包,本质是容器内无法正常访问NuGet源:

  • 临时切换国内镜像源,在Dockerfile中添加:
    RUN dotnet nuget add source https://nuget.cdn.azure.cn/v3/index.json -n china-cdn
    
  • 若需代理,构建时传递代理参数:
    docker build --build-arg HTTP_PROXY=http://你的代理地址:端口 --build-arg HTTPS_PROXY=http://你的代理地址:端口 -t 镜像名 .
    

3. 排查容器网络连通性

即便本地防火墙无Docker条目,容器网络仍可能受限:

  • 先测试容器能否访问外部:
    docker run --rm alpine ping nuget.org
    
  • 若不通,检查:
    • Docker Desktop设置中是否配置了正确的代理(企业网络环境必备);
    • 系统防火墙是否允许docker-proxy进程的出站请求;
    • 确认Docker默认的bridge网络模式未被修改。

4. 清理Docker缓存

缓存损坏也可能导致构建异常:

  • 执行命令清理所有未使用的镜像、容器和缓存:
    docker system prune -a
    
  • 重新执行构建与推送流程。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 18:48:39