dockerfile 由于公钥不可用,无法验证以下签名

发布时间 2023-10-04 09:58:47作者: 牛奔

报错

当我在打包 docker镜像时,发生了报错

$ sudo docker build -t dcgm-exporter:3.2.5 .

1.772   The following signatures couldn't be verified because the public key is not available: NO_PUBKEY A4B469963BF863CC
……
42.77 W: GPG error: https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64  InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY A4B469963BF863CC
42.77 E: The repository 'https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64  InRelease' is not signed.

Ubuntu 和基于 Debian 的发行版上的 APT 包管理器采用 GPG 的信任/安全机制。与 SSH 一样,GPG 也有公私密钥对。公钥是共享的,私钥是保密的。

每个存储库,无论是来自 Ubuntu 本身还是 PPA 或第三方存储库,都由其开发人员使用 GPG 密钥进行签名。当你将存储库添加到系统时,其开发人员的公共 GPG 密钥将添加到你系统上的受信任 GPG 密钥中。这可确保你的 Linux 系统信任来自存储库的包。

你可以使用以下命令查看系统上存储的 GPG 密钥:

apt-key list

修复GPG错误:无法验证以下签名

从系统上显示的错误消息中获取密钥号,现在使用 apt-key 命令将此公钥添加到你的 Ubuntu 系统:

RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A4B469963BF863CC

以上命令在 dockerfile 中,要单独另起一行。