首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >apt-get更新Ubuntu 22基座码头映像失败

apt-get更新Ubuntu 22基座码头映像失败
EN

Stack Overflow用户
提问于 2022-06-15 00:19:38
回答 4查看 7.2K关注 0票数 14

我正在尝试升级我们的对接基地图像到最新的稳定版本的Ubuntu。我把这个问题孤立成了一个简单的可重复的案例。我有这样一个Dockerfile:

代码语言:javascript
运行
复制
FROM ubuntu:22.04

MAINTAINER mep-dev@zulily.com

# Install java and clean-up
RUN apt-get update

当我在我的本地机器上构建它时,我没有任何问题。但是,当我在CICD上构建它时,有时会遇到以下错误:

步骤3/3 :运行apt-get更新

->在6ca01b60de64中运行

Get:1 http://archive.ubuntu.com/ubuntu干扰InRelease 270 kB

Get:2 http://security.ubuntu.com/ubuntu干扰- InRelease 110 kB

Get:3 http://archive.ubuntu.com/ubuntu干扰-更新InRelease 109 kB

Get:4 http://archive.ubuntu.com/ubuntu干扰-backports 99.8 kB

错误:1 http://archive.ubuntu.com/ubuntu干扰InRelease

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

错误:3 http://archive.ubuntu.com/ubuntu干扰-更新InRelease

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

错误:4 http://archive.ubuntu.com/ubuntu干扰-backports

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

错误:2 http://security.ubuntu.com/ubuntu干扰-安全InRelease

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

正在读取包列表...

W:http://archive.ubuntu.com/ubuntu/dists/jammy/InRelease:键环http://archive.ubuntu.com/ubuntu/dists/jammy/InRelease中的键被忽略,因为执行apt键的用户'_apt‘无法读取该文件。

W:http://archive.ubuntu.com/ubuntu/dists/jammy/InRelease:键环http://archive.ubuntu.com/ubuntu/dists/jammy/InRelease中的键被忽略,因为执行apt键的用户'_apt‘无法读取该文件。

W: GPG错误:http://archive.ubuntu.com/ubuntu干扰InRelease:由于公钥不可用,无法验证下列签名: NO_PUBKEY 871920D1991BC93C

E:存储库'http://archive.ubuntu.com/ubuntu jammy InRelease‘没有签名。

W:http://archive.ubuntu.com/ubuntu/dists/jammy-updates/InRelease:键环http://archive.ubuntu.com/ubuntu/dists/jammy-updates/InRelease中的键被忽略,因为执行apt键的用户'_apt‘无法读取该文件。

W:http://archive.ubuntu.com/ubuntu/dists/jammy-updates/InRelease:键环http://archive.ubuntu.com/ubuntu/dists/jammy-updates/InRelease中的键被忽略,因为执行apt键的用户'_apt‘无法读取该文件。

W: GPG错误:http://archive.ubuntu.com/ubuntu干扰-更新InRelease:由于公钥不可用,无法验证下列签名: NO_PUBKEY 871920D1991BC93C

E:存储库'http://archive.ubuntu.com/ubuntu干扰-更新InRelease‘没有签名。

W:http://archive.ubuntu.com/ubuntu/dists/jammy-backports/InRelease:键环http://archive.ubuntu.com/ubuntu/dists/jammy-backports/InRelease中的键被忽略,因为执行apt键的用户'_apt‘无法读取该文件。

W:http://archive.ubuntu.com/ubuntu/dists/jammy-backports/InRelease:键环http://archive.ubuntu.com/ubuntu/dists/jammy-backports/InRelease中的键被忽略,因为执行apt键的用户'_apt‘无法读取该文件。

W: GPG错误:http://archive.ubuntu.com/ubuntu干扰-backports:由于公钥不可用,无法验证下列签名: NO_PUBKEY 871920D1991BC93C

E:存储库'http://archive.ubuntu.com/ubuntu jammy-backports InRelease‘没有签名。

W:http://security.ubuntu.com/ubuntu/dists/jammy-security/InRelease:键环http://security.ubuntu.com/ubuntu/dists/jammy-security/InRelease中的键被忽略,因为执行apt键的用户'_apt‘无法读取该文件。

W:http://security.ubuntu.com/ubuntu/dists/jammy-security/InRelease:键环http://security.ubuntu.com/ubuntu/dists/jammy-security/InRelease中的键被忽略,因为执行apt键的用户'_apt‘无法读取该文件。

W: GPG错误:http://security.ubuntu.com/ubuntu干扰-安全InRelease:由于公钥不可用,无法验证下列签名: NO_PUBKEY 871920D1991BC93C

E:存储库'http://security.ubuntu.com/ubuntu干扰-安全InRelease‘没有签名。

E:执行脚本问题apt::Update::Post调用'rm -f /var/cache/apt/ Problem /..deb/var/cache/apt/档案/分部/..deb/var/cache/apt/*..bin比对真‘

E:子进程返回一个错误代码。

命令'/bin/sh apt -c‘返回一个非零代码: 100

如果我注释掉了RUN apt-get update,那么它就成功了,我可以输入容器并看到/etc/apt/trusted.gpg.d/ubuntu-keyring-2012-cdimage.gpg/etc/apt/trusted.gpg.d/ubuntu-keyring-2018-archive.gpg确实存在,并且已经读取了所有权限:

root@b778220b39d8:/# ls -l /etc/apt/受托人

共计8

-rw-r--r-1根根2794 3月26 2021 ubuntu-keyring-2012-cdimage.gpg

-rw-r--r-1根根1733 2021 ubuntu-keyring-2018-存档. Mar

我还检查了父目录,它们至少对所有人都有r-x。

This answer可能是相关的,但是为什么在一个环境而不是另一个环境中使用基本图像时,文件具有正确的结构?

更新:

通过使用--pull,我可以看到它使用的确切图像。

$ docker build --拉-t $EMAIL_DELIVERABILITY_ARN。

步骤1/3 :来自ubuntu:22.04

22.04:从图书馆调出/ubuntu

摘要: sha256:b6b83d3c331794420340093eb706a6f152d9c1fa51b262d9bf34594887c2c7ac

状态:下载ubuntu的更新映像:22.04

- 27941809078c

这是我在本地建筑时看到的相同的sha和图像id,它可以工作。

我和ubuntu有同样的问题:20.04。

EN

Stack Overflow用户

发布于 2022-09-13 10:02:12

在花了半天时间修复Ubuntu映像(没有损坏)之后,我终于开始调试主机了。

这是一个docker问题。Ubuntu利用syscalls实现更好的密钥安全性,Docker还不支持这种安全性。解决办法是更新码头..。或者使用runc或者类似的东西。

apt没有得到不支持syscalls的消息,而是得到了拒绝权限的消息,这导致了令人困惑的错误消息。

从技术上讲,您可以对ubuntu进行补丁,以降低安全性,并与老的对接者一起工作,但遗憾的是,这不是一个长期的解决方案。

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

https://stackoverflow.com/questions/72624687

复制
相关文章

相似问题

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