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

Windows 11环境下Docker构建失败,报'unable to get local issuer certificate'错误求助

Windows 11环境下Docker构建失败,报'unable to get local issuer certificate'错误求助

嘿,这个问题我之前帮朋友排查过,和Git没啥关系,核心是Docker容器里的Yarn没法验证HTTPS仓库的证书,大概率是容器没信任你本地环境的根证书(比如公司内网的CA证书、代理证书),给你几个实用的解决办法:

办法一:临时跳过证书验证(仅测试用,别放生产)

如果只是想快速验证是不是证书的锅,可以在执行yarn命令时临时关闭证书检查,修改Dockerfile里的RUN行:

RUN NODE_TLS_REJECT_UNAUTHORIZED=0 yarn install --production

或者也可以给Yarn加参数延长超时并简化流程:

RUN yarn install --production --network-timeout 100000 --ignore-scripts

⚠️ 注意:这个方法不安全,生产环境绝对不能用,只是用来快速定位问题。

办法二:把本地根证书导入容器(推荐,安全合规)

这是最稳妥的方案,把你Windows上的信任根证书复制到容器里,让容器也信任它:

  1. 先把你本地的CA证书导出成.crt格式(比如从Windows证书管理器里导出根CA),放到项目根目录。
  2. 修改Dockerfile,在执行yarn install前添加证书配置步骤:
    如果你的基础镜像是Debian/Ubuntu系(比如官方node镜像):
    # 复制本地证书到容器的证书目录
    COPY rootCA.crt /usr/local/share/ca-certificates/
    # 更新容器的证书信任列表
    RUN update-ca-certificates
    
    # 再执行yarn安装
    RUN yarn install --production
    
    如果是Alpine系的镜像:
    COPY rootCA.crt /usr/local/share/ca-certificates/
    RUN apk add --no-cache ca-certificates && update-ca-certificates
    
    RUN yarn install --production
    

办法三:检查Docker的代理设置

如果你Windows开了代理,Docker可能没正确配置代理导致证书问题:

  • 打开Docker Desktop,进入「Settings」→「Resources」→「Proxies」
  • 选择「Manual proxy configuration」,填入你的代理地址和端口
  • 要是代理用了自签名证书,记得把代理证书也导入容器(参考办法二),或者把Yarn仓库地址加入代理例外

总结下:这个错误本质是容器内的HTTPS请求没法验证服务器证书,和Git无关,优先试试办法二,安全又能彻底解决问题~

备注:内容来源于stack exchange,提问作者JKumar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.20 13:10:32