在docker容器中添加GPG密钥会导致"找不到有效的OpenPGP数据"

Mat*_*bík 6 ubuntu openpgp docker

我正在尝试在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
Run Code Online (Sandbox Code Playgroud)

joh*_*sta 18

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

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

RUN apt-get install -y ca-certificates wget
Run Code Online (Sandbox Code Playgroud)


Kev*_*val 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 -


xda*_*ays 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