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

如何在Ubuntu 14.04的Dockerfile中更新根证书

问题原因

Ubuntu 14.04 是2014年发布的版本,官方早已停止维护,默认软件源已经下线,你之前执行的apt-get update实际无法获取到最新的CA证书包;同时系统内置的Let's Encrypt旧根证书DST Root CA X3已于2021年过期,证书校验时会优先匹配这个过期根证书,导致报错。

修复方案

修改Dockerfile如下,无需关闭证书校验即可解决问题:

FROM ubuntu:14.04

# 第一步:替换为Ubuntu旧版归档源,保证能获取到最后发布的软件包
RUN sed -i 's/archive.ubuntu.com/old-releases.ubuntu.com/g' /etc/apt/sources.list
RUN sed -i 's/security.ubuntu.com/old-releases.ubuntu.com/g' /etc/apt/sources.list

# 第二步:更新CA证书包,删除过期根证书
RUN apt-get update && apt-get install -y ca-certificates
RUN rm -f /usr/share/ca-certificates/mozilla/DST_Root_CA_X3.crt
RUN update-ca-certificates

# 后续原有逻辑不变
RUN apt-get update
RUN apt-get -y upgrade

# RUN apt-get install -y curl
# RUN curl -O https://gerrit.wikimedia.org/r/plugins/gitiles/mediawiki/extensions/SphinxSearch/+archive/refs/heads/REL1_24.tar.gz

RUN apt-get install -y wget
RUN wget https://gerrit.wikimedia.org/r/plugins/gitiles/mediawiki/extensions/SphinxSearch/+archive/refs/heads/REL1_24.tar.gz
补充说明
  • 执行rm -f /usr/share/ca-certificates/mozilla/DST_Root_CA_X3.crt是为了移除过期的旧根证书,避免系统校验时优先匹配该过期证书
  • 替换为归档源后仅能获取到Ubuntu 14.04停止维护前最后发布的软件版本,仍存在其他安全风险,建议尽可能升级基础镜像到仍在维护的Ubuntu版本

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 22:39:05