在Docker容器中添加GPG密钥导致“未找到有效的OpenPGP数据”

19

我正在尝试在Docker容器内安装New Relic的系统监控,但是apt-key add -失败并显示no valid OpenPGP data found

这是完整的Dockerfile

FROM ubuntu
MAINTAINER Matej Koubik

RUN echo deb http://apt.newrelic.com/debian/ newrelic non-free >> /etc/apt/sources.list.d/newrelic.list
RUN wget -O- https://download.newrelic.com/548C16BF.gpg | apt-key add -
RUN apt-get update
RUN apt-get install newrelic-sysmond
RUN nrsysmond-config --set license_key=...
RUN /etc/init.d/newrelic-sysmond start
4个回答

39

@xdays提供的解决方案能够解决问题,但也绕过了ssl提供的保护。在发出wget语句之前,您可以安装ca-certificates软件包,这样它就可以使用ssl。

在调用wget之前添加以下行:

RUN apt-get install -y ca-certificates wget

7
我在安装 Docker 时遇到了这个问题。
运行以下命令: sudo apt install apt-transport-https ca-certificates curl software-properties-common 您可以参考此处
然后输入以下命令: curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

5

看起来问题出在wget上,加上--no-check-certificate参数再运行wget即可,这样一切就正常了。

# wget --no-check-certificate -O- https://download.newrelic.com/548C16BF.gpg | apt-key add -
--2014-01-12 09:29:30--  https://download.newrelic.com/548C16BF.gpg
Resolving download.newrelic.com (download.newrelic.com)... 50.31.164.159
Connecting to download.newrelic.com (download.newrelic.com)|50.31.164.159|:443... connected.
WARNING: cannot verify download.newrelic.com's certificate, issued by `/C=US/O=GeoTrust, Inc./CN=GeoTrust SSL CA':
  Unable to locally verify the issuer's authority.
HTTP request sent, awaiting response... 200 OK
Length: 1682 (1.6K) [application/octet-stream]
Saving to: `STDOUT'
100%[=================================================================================================================================================>] 1,682 --.-K/s in 0s
2014-01-12 09:29:31 (15.1 MB/s) - written to stdout [1682/1682]
OK

1
被接受的答案是正确的(添加ca-certificates);关闭证书检查会降低安全性,而上面有一个简单的解决方案。 - peter_v
我按照正确的方法(添加ca-certificates)进行了操作,但是还是出现了相同的错误?所以我不得不使用这个方法并降低安全性。不知道为什么尽管在wget和apt-key add调用之前已经安装了ca-certificates,它仍然失败了。 - englishPete

1

你可以分开运行以下命令:wget -O- https://download.newrelic.com/548C16BF.gpg | apt-key add -wget -O- https://download.newrelic.com/548C16BF.gpgapt-key add -。你可以参考这里

curl同理。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接