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

Abb*_*bas 5 apt gnupg docker

我在尝试使用基本 ubuntu 映像运行 docker 容器时遇到了麻烦。

在尝试时RUN apt-get update,我收到以下错误:

W: GPG error: http://ppa.launchpad.net/webupd8team/java/ubuntu trusty InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY C2518248EEA14886
E: The repository 'http://ppa.launchpad.net/webupd8team/java/ubuntu trusty InRelease' is not signed.
Run Code Online (Sandbox Code Playgroud)

但是当我尝试添加key类似内容时:

RUN apt-key adv --keyserver http://keyserver.ubuntu.com:80 --recv-keys C2518248EEA14886
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

E: gnupg, gnupg2 and gnupg1 do not seem to be installed, but one of them is required for this operation
Run Code Online (Sandbox Code Playgroud)

所以尝试安装gnupg| gnupg1| gnupg2我收到RUN apt-get install -y gnupg1以下错误。

E: Package 'gnupg1' has no installation candidate
Run Code Online (Sandbox Code Playgroud)

这是我的 Dockerfile 供参考,以防万一:

FROM ubuntu:latest

RUN apt-get install -y gnupg1

RUN apt-key adv --keyserver http://keyserver.ubuntu.com:80 --recv-keys C2518248EEA14886

RUN apt-get update && apt-get install -y \
    gradle \
    oracle-java8-installer \
    oracle-java8-set-default \
    unzip \
    wget \
&& rm -rf /var/lib/apt/lists/*
Run Code Online (Sandbox Code Playgroud)

因此,如果我正确理解这一点,我需要更新apt-get以安装gnupg(或变体),我需要更新,key chain但除非我更新,否则我不能这样做apt-get

那么对于这种循环依赖有什么技巧/解决方法吗?或者我做错了什么?

我对 ubuntu 和 docker 很陌生,也许我错过了一些明显的东西。

Pil*_*ot6 1

ppa:webupd8team/java停产。所以无法从那里安装任何东西。

从您的软件源中删除该 PPA。

如果您没有任何其他问题,那么我认为没有任何其他步骤的理由。