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

Amazon Linux 2 Docker容器内运行yum报SSL证书无法获取本地颁发者错误

报错说明

在基于最新amazonlinux镜像构建的Docker容器内执行任意yum命令(如yum update、yum install)时会触发以下错误:

failure: repodata/repomd.xml from amzn2-core: [Errno 256] No more mirrors to try.
https://cdn.amazonlinux.com/2/core/2.0/x86_64/f915d0987d73328ab3992d03ddbce189bca8804de19d89f09b847dfcaa6bc1af/repodata/repomd.xml?instance_id=URLError&region=unknown: [Errno 14] curl#60 - "SSL certificate problem: unable to get local issuer certificate"
触发原因

本质是yum请求亚马逊Linux软件源时SSL证书校验失败,常见触发场景有两个:

  • 容器内置的ca-certificates根证书包版本过旧,没有收录亚马逊源的证书颁发机构根证书
  • 工作网络存在SSL中间人代理(比如公司内网防火墙、自建网络代理),代理替换了网站的SSL证书,系统不信任代理的根证书
解决方案

分不同场景选择对应处理方式:

  • 临时快速验证:临时关闭yum的SSL校验
    执行命令修改yum配置:
    sed -i 's/^sslverify=1/sslverify=0/g' /etc/yum.conf
    验证yum可用后,优先执行yum update -y ca-certificates更新根证书包,更新完成后建议执行sed -i 's/^sslverify=0/sslverify=1/g' /etc/yum.conf恢复校验,避免安全风险。
  • 内网代理场景永久修复:
    1. 将内网代理的根证书文件(格式为.crt或.pem)复制到容器内的/etc/pki/ca-trust/source/anchors/目录
    2. 执行命令更新系统信任的证书库:
      update-ca-trust extract
    3. 重新执行yum命令即可正常使用
  • 镜像构建阶段提前修复:
    在Dockerfile中加入对应逻辑,避免每次启动容器手动处理:
    FROM amazonlinux:latest
    # 若存在内网代理证书,先复制证书到容器内
    COPY your-internal-root.crt /etc/pki/ca-trust/source/anchors/
    RUN sed -i 's/^sslverify=1/sslverify=0/g' /etc/yum.conf && \
        yum install -y ca-certificates && \
        update-ca-trust extract && \
        sed -i 's/^sslverify=0/sslverify=1/g' /etc/yum.conf
    
  • 无代理场景的简单修复:
    若确认网络没有代理,可尝试重新拉取最新的官方amazonlinux镜像后重新构建容器:
    docker pull amazonlinux:latest

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 18:09:02