如何解决在 Docker 构建期间第二次 apt-get 更新后,Ubuntu 21.04 中的 GPG 错误
构建以下 Docker 文件时出错
FROM ubuntu:21.04
RUN apt-get update && \
apt-get install --no-install-recommends -y curl=7.\* && \
apt-get install --no-install-recommends -y unzip=6.\* &&\
rm -rf /var/lib/apt/lists/*
RUN apt-get update && \
mkdir -p /usr/share/man/man1 && \
apt-get install --no-install-recommends -y maven=3.6.3-5 && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
第二个 apt-get update
运行时发生错误。
错误如下:-
E: The repository 'http://security.ubuntu.com/ubuntu hirsute-security InRelease' is not signed.
W: GPG error: http://archive.ubuntu.com/ubuntu hirsute InRelease: gpgv,gpgv2 or gpgv1 required for verification,but neither seems installed
E: The repository 'http://archive.ubuntu.com/ubuntu hirsute InRelease' is not signed.
W: GPG error: http://archive.ubuntu.com/ubuntu hirsute-updates InRelease: gpgv,but neither seems installed
E: The repository 'http://archive.ubuntu.com/ubuntu hirsute-updates InRelease' is not signed.
W: GPG error: http://archive.ubuntu.com/ubuntu hirsute-backports InRelease: gpgv,but neither seems installed
E: The repository 'http://archive.ubuntu.com/ubuntu hirsute-backports InRelease' is not signed.
任何形式的帮助将不胜感激。
解决方法
这是 docker / seccomp / glibc 交互中的一个错误:https://bugs.launchpad.net/ubuntu/+source/glibc/+bug/1916485
,我已经运行了你的 docker 文件并得到了同样的错误。尝试各种方法来禁用验证也没有产生好的结果。也没有删除版本限制,只是安装最新版本的工具。我能找到的唯一解决方案是将 ubuntu 降级到 20.04,但该版本的操作系统没有 3.6.3-5 版本的 maven,只有 3.6.3-1 (afaik)。
我能得到的最接近的图像与您想要的图像完全不同:
FROM ubuntu:20.04
RUN apt update && \
apt install --no-install-recommends -y curl=7.\* unzip=6.\* maven=3.6.3-1 && \
apt clean && \
rm -rf /var/lib/apt/lists/* && \
mkdir -p /usr/share/man/man1
另请注意我如何使用 apt
而不是 apt-get
并且我只执行一次运行(通过只有一个层来制作更简单的图像)并且只执行一个 apt update
和将我想要安装的东西链接到一个 apt install
而不是单独的。这只是更快更容易。
但是,如果您想要一个 Maven 构建框,也许您最好使用来自 docker hub 的预构建 Maven 镜像之一,这些镜像本身基于 openjdk 镜像。对于 java,底层的 linux 发行版很少重要,而 openjdk 映像非常受尊重:
from maven:3.6.3-jdk-11
run apt update && apt install -y curl unzip && apt clean
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。