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

Windows 10下Docker容器无法访问HTTPS地址问题求助

Docker容器无法访问HTTPS地址的排查与解决

问题描述

新Windows 10机器上安装Docker Desktop后,容器无法访问任何HTTPS地址:

  • 旧机器正常运行的.NET 6应用,通过docker-compose启动时报错:

    error NU1301: Unable to load the service index for source https://api.nuget.org/v3/index.json

  • 启动Ubuntu容器测试,安装curl后访问HTTPS地址返回:

    curl: (60) SSL certificate problem: unable to get local issuer certificate
    curl failed to verify the legitimacy of the server and therefore could not establish a secure connection to it.

容器可正常访问HTTP地址,新旧机器Docker安装配置一致,无代理、杀毒软件干扰。


可能原因及解决办法

1. Docker Desktop证书同步异常

Docker Desktop默认会同步Windows系统的根证书到容器,但新机器可能未触发同步:

  • 打开Docker Desktop设置,进入Resources > File Sharing,确保勾选系统磁盘(如C盘),点击Apply & Restart重启Docker。
  • 若仍无效,手动导入Windows根证书到容器:
    1. 通过certmgr.msc导出Windows受信任根证书为.crt格式。
    2. 在Dockerfile中添加证书导入命令(以Ubuntu为例):
      COPY root-cert.crt /usr/local/share/ca-certificates/
      RUN update-ca-certificates
      

2. WSL2后端网络证书不同步

若Docker使用WSL2后端,WSL2的CA证书可能未与Windows同步:

  • 进入WSL2终端(如Ubuntu WSL),执行:
    sudo apt update && sudo apt install --reinstall ca-certificates -y
    sudo update-ca-certificates
    
  • 重启Docker Desktop后重新测试容器。

3. Windows系统根证书缺失

新机器的Windows根证书存储可能缺少全球信任的CA证书(如NuGet所用的DigiCert根证书):

  • 运行certmgr.msc打开证书管理器,检查受信任的根证书颁发机构中是否包含常见根CA。
  • 若缺失,从微软官方根证书更新包获取对应证书,导入到根证书存储。

4. 容器基础镜像CA证书过期

使用的Ubuntu等基础镜像版本过旧,内置CA证书包失效:

  • 拉取最新镜像:
    docker pull ubuntu:latest
    
  • 或在容器内强制更新CA证书:
    apt update && apt install --reinstall ca-certificates -y
    update-ca-certificates
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 19:20:12