首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >由于公钥不可用,无法验证下列签名: NO_PUBKEY 871920D1991BC93C

由于公钥不可用,无法验证下列签名: NO_PUBKEY 871920D1991BC93C
EN

Stack Overflow用户
提问于 2022-09-13 08:22:59
回答 1查看 1.1K关注 0票数 6

我试图使用Ubuntu 20或Ubuntu 22在码头。我的Dockerfile是:

代码语言:javascript
复制
from ubuntu:22.04
run DEBIAN_FRONTEND=noninteractive apt update

我用docker build .构建这个。结果是:

代码语言:javascript
复制
Sending build context to Docker daemon  2.048kB
Step 1/2 : from ubuntu:22.04
---> 2dc39ba059dc
Step 2/2 : run DEBIAN_FRONTEND=noninteractive apt update
---> Running in b15002ae9dd5

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
Get:1 http://archive.ubuntu.com/ubuntu jammy InRelease [270 kB] 
Get:2 http://security.ubuntu.com/ubuntu jammy-security 
InRelease [110 kB] 
Get:3 http://archive.ubuntu.com/ubuntu jammy-updates InRelease [114 kB] 
Get:4 http://archive.ubuntu.com/ubuntu jammy-backports InRelease [99.8 kB] Err:1 http://archive.ubuntu.com/ubuntu jammy InRelease   
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 871920D1991BC93C 

我收到这条消息多次重复,直到我得到:

代码语言:javascript
复制
W: http://archive.ubuntu.com/ubuntu/dists/jammy/InRelease: The key(s) in the keyring /etc/apt/trusted.gpg.d/ubuntu-keyring-2012-cdimage.gpg are ignored as the file is not readable by user '_apt' executing apt-key.

我尝试过将chmod a+rwx /etc/apt -R作为Dockerfile中的第一个run命令,但这并没有什么区别。

我还显式地运行了docker pull ubuntu:22.04,它说它已经是最新的了。对于ubuntu:20.04图像,我也有同样的问题。

我已经咨询过所有提到这个问题的其他网页来源,但它们都要求我能够运行apt install apt-key或其他什么,但是我不能从apt开始更新,所以没有什么工作,除了前3页的搜索引擎点击仅仅显示如何在Ubuntu上安装Docker,而不是相反的方式。

我也尝试过另一个答案中提到的--security-opt seccomp:unconfinedError response from daemon: The daemon on this platform does not support setting security options on build对此做出了回应。

因此,我的映像没有curlwgetgnupg,如果没有这个功能,我就无法安装它。当我用apt-key做任何事情时,我得到:E: gnupg, gnupg2 and gnupg1 do not seem to be installed, but one of them is required for this operation

我成功地从deb文件手动安装了gnupg,并手动接收了密钥,这提供了类似的错误消息:

代码语言:javascript
复制
# apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 871920D1991BC93C
Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).
Executing: /tmp/apt-key-gpghome.rQuYmKpjpo/gpg.1.sh --keyserver keyserver.ubuntu.com --recv-keys 871920D1991BC93C
gpg: requesting key 991BC93C from hkp server keyserver.ubuntu.com
gpg: key 991BC93C: public key "Ubuntu Archive Automatic Signing Key (2018) <ftpmaster@ubuntu.com>" imported
gpg: Total number processed: 1
gpg:               imported: 1  (RSA:  1)
W: The key(s) in the keyring /etc/apt/trusted.gpg.d/ubuntu-keyring-2018-archive.gpg are ignored as the file is not readable by user '' executing apt-key.

我还试着将/etc/apt/source.list降到最低。同样的问题。

如何从主机中添加所需的密钥?

作为第二个问题,这样一个主流工具和发行如何才能被打破?每个人都有别的事情要做吗?是什么?我没有良好的互联网接入,因此,跟上计算机世界正在发生的事情是一个挑战。

EN

Stack Overflow用户

发布于 2022-09-26 15:01:07

升级主机上的码头。https://docs.docker.com/engine/install/ubuntu/

这是一个罕见的不兼容的新的syscall,以保护密钥,老码头不支持。没有办法修补Ubuntu在老码头上的工作,我花了半天时间尝试。

票数 6
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73699753

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档