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

我试图在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 

@xdays提供的解决方案可以解决这个问题,但是也可以解决ssl提供的保护问题。 您可以在发出wget语句之前安装ca-certificates包,它应该可以与ssl一起使用。

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

 RUN apt-get install -y ca-certificates wget 

看来问题是wget,给你的wget添加--no-check-certificate ,一切正常。

 #wget --no-check-certificate -O- https://download.newrelic.com/548C16BF.gpg |  apt-key add  -                                                                  
 -  2014年12月12日09:29:30-- https://download.newrelic.com/548C16BF.gpg
解决download.newrelic.com(download.newrelic.com)... 50.31.164.159
连接到download.newrelic.com(download.newrelic.com)| 50.31.164.159 |:443 ...已连接。
警告:无法验证由`/ C = US / O = GeoTrust,Inc./CN=GeoTrust SSL CA'颁发的download.newrelic.com证书:
  无法在本地验证发行人的权限。
发送HTTP请求,等待响应... 200 OK
长度:1682(1.6K)[application / octet-stream]
保存为:“标准输出”

 100%[=============================================== ================================================== ================================================>] 0秒内为1682  -  K / s      

 2014-01-12 09:29:31(15.1 MB / s) - 写入stdout [1682/1682]

好

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

这和curl