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

报错

当我在打包 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 中,要单独另起一行。

posted @   牛奔  阅读(819)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示