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

Jammy Docker容器执行apt update时出现GPG签名错误的修复方法咨询

Jammy Docker容器执行apt update时出现GPG签名错误的修复方法咨询

你好呀,看你在构建Ubuntu Jammy的Docker镜像时碰到了APT仓库GPG签名验证的问题,已经试过更新ubuntu-keyring但没解决,还换了版本、清理了镜像卷,确实挺闹心的。我整理了几个可能有效的解决办法,你可以试试:

1. 替换官方ports源为国内镜像源

官方ports.ubuntu.com源有时候会因为网络或者同步问题导致签名验证失败,你可以在执行apt update前先替换成国内的镜像源,比如清华的Ubuntu Ports镜像:

RUN sed -i 's/http:\/\/ports.ubuntu.com\/ubuntu-ports/https:\/\/mirrors.tuna.tsinghua.edu.cn\/ubuntu-ports/g' /etc/apt/sources.list

替换完成后再执行你的apt-get update && apt-get install命令。

2. 手动重新导入Ubuntu Jammy的GPG签名密钥

有可能基础镜像里的GPG密钥已经损坏或者过期,你可以手动导入官方的签名密钥来修复:

RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3B4FE6ACC0B21F32 871920D1991BC93C

这两个是Ubuntu 22.04(Jammy)的核心签名密钥,导入后再尝试更新仓库。

3. 使用最新的基础镜像

如果你用的是旧版本的ubuntu:jammy基础镜像,里面的源配置和密钥可能已经失效,建议指定一个带日期标签的最新镜像,比如:

FROM ubuntu:jammy-20240423

这样能确保基础镜像里的系统组件和源配置都是最新的。

4. 排查网络代理问题

如果你的构建环境使用了代理服务器,可能会导致APT获取的签名文件不完整或者被篡改。可以尝试关闭代理后重新构建,或者确保代理能正确处理HTTPS请求(如果换用HTTPS镜像源的话)。

另外还有个小细节:你Dockerfile里写的build-essentials包名是错误的,正确的包名是build-essential(少了末尾的s),这个小问题可能会导致后续安装失败,记得修正哦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.17 12:34:35