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

使用Python:3.8 Docker镜像构建失败:apt-get更新遇GPG签名错误

Python 3.8 Docker镜像构建apt-get更新失败问题排查与解决

问题场景

构建流水线此前运行正常,近期突然失效。使用python:3.8作为基础镜像编写Dockerfile构建应用,未修改Dockerfile,但执行apt-get update && apt-get install步骤时失败。

Dockerfile片段

FROM python:3.8
...
RUN apt-get update && \
    apt-get install -y default-libmysqlclient-dev libffi-dev libssl-dev git jq tree
...

报错信息

W: GPG error: http://deb.debian.org/debian bookworm InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 0E98404D386FA1D9 NO_PUBKEY 6ED0E7B82643E131 NO_PUBKEY F8D2585B8783D481
E: The repository 'http://deb.debian.org/debian bookworm InRelease' is not signed.

原因分析

python:3.8官方镜像底层基于Debian Bookworm系统,近期Debian官方更新了软件源的GPG签名密钥,但旧版本的python:3.8镜像未包含这些新密钥,导致apt-get update时无法验证源的合法性,从而抛出签名错误。

解决方法

方法一:手动添加缺失的GPG密钥

在执行apt-get update前,先通过密钥服务器获取并添加缺失的密钥,有两种实现方式:

方式1(兼容旧版apt-key,不推荐长期使用)

FROM python:3.8

RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 0E98404D386FA1D9 6ED0E7B82643E131 F8D2585B8783D481 && \
    apt-get update && \
    apt-get install -y default-libmysqlclient-dev libffi-dev libssl-dev git jq tree

方式2(符合Debian新规范,推荐)

FROM python:3.8

RUN mkdir -p /usr/share/keyrings && \
    gpg --keyserver keyserver.ubuntu.com --recv-keys 0E98404D386FA1D9 6ED0E7B82643E131 F8D2585B8783D481 && \
    gpg --export 0E98404D386FA1D9 6ED0E7B82643E131 F8D2585B8783D481 > /usr/share/keyrings/debian-archive-keyring.gpg && \
    apt-get update && \
    apt-get install -y default-libmysqlclient-dev libffi-dev libssl-dev git jq tree

方法二:使用带具体系统版本的Python镜像

避免使用滚动更新的python:3.8标签,改用绑定Debian版本的镜像标签,这类镜像已预装更新后的GPG密钥:

FROM python:3.8-bookworm
...
RUN apt-get update && \
    apt-get install -y default-libmysqlclient-dev libffi-dev libssl-dev git jq tree
...

方法三:升级Python版本(若业务允许)

如果业务兼容,将Python版本升级到3.9及以上的稳定版,这些版本的官方镜像基于更新的Debian系统,已修复密钥问题,同时能获得更好的安全性和兼容性。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 21:06:20