从Dockerfile构建并获取;以下签名不能';无法验证,因为公钥不可用:NO“U PUBKEY”;

从Dockerfile构建并获取;以下签名不能';无法验证,因为公钥不可用:NO“U PUBKEY”;,docker,debian,Docker,Debian,我正在尝试使用Dockerfile构建供本地使用的PHP 5.3/Apache,该Dockerfile启动: FROM php:5.3-apache RUN apt-get update && \ apt-get install -y \ libfreetype6-dev \ libjpeg62-turbo-dev \ libmcrypt-dev \ libpng-dev 但当我“阅读包裹清单”时,我得到: 阅读后,我尝试在第一行之后添

我正在尝试使用Dockerfile构建供本地使用的PHP 5.3/Apache,该Dockerfile启动:

FROM php:5.3-apache

RUN apt-get update && \
    apt-get install -y \
    libfreetype6-dev \
    libjpeg62-turbo-dev \
    libmcrypt-dev \
    libpng-dev
但当我“阅读包裹清单”时,我得到:

阅读后,我尝试在第一行之后添加以下内容:

RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys AA8E81B4331F7F50 && \
    apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 7638D0442B90D010
但是得到这个错误:

W: There is no public key available for the following key IDs:
9D6D8F6BC857C906
W: Failed to fetch http://http.debian.net/debian/dists/jessie/Release.gpg  Connection failed [IP: 130.89.148.77 80]
我对Ubuntu和Debian几乎一无所知,我尝试了同样的方法,但用
keyring.Debian.org
代替
keyserver.Ubuntu.com
,得到了:

gpgkeys: key AA8E81B4331F7F50 can't be retrieved
gpg: no valid OpenPGP data found.
gpg: Total number processed: 0
我试过这个:

RUN apt-get update && \
    apt-get install -y --no-install-recommends \
    apt-transport-https \
    ca-certificates
RUN apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys AA8E81B4331F7F50
RUN apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 7638D0442B90D010
但是得到与最初相同的GPG错误


我现在不知道该怎么办。(我知道PHP5.3已经过时了,但很遗憾,我无法改变这一点。)

在多次尝试和错误之后,我发现,如果不安装之前的
apt transport https ca证书,只需这样做就可以了:

RUN apt-key adv --keyserver hkp://pool.sks-keyservers.net:80 --recv-keys AA8E81B4331F7F50 && \
    apt-key adv --keyserver hkp://pool.sks-keyservers.net:80 --recv-keys 7638D0442B90D010
我确实收到了此错误,但它似乎不会影响任何内容,安装之后将继续:

W: There is no public key available for the following key IDs:
9D6D8F6BC857C906

在多次尝试和错误之后,我发现,如果没有先前安装的
apt transport https ca certificates
,只需执行此操作即可:

RUN apt-key adv --keyserver hkp://pool.sks-keyservers.net:80 --recv-keys AA8E81B4331F7F50 && \
    apt-key adv --keyserver hkp://pool.sks-keyservers.net:80 --recv-keys 7638D0442B90D010
我确实收到了此错误,但它似乎不会影响任何内容,安装之后将继续:

W: There is no public key available for the following key IDs:
9D6D8F6BC857C906
从这个角度来看,一个解决方案是

gpg --recv-keys AA8E81B4331F7F50
gpg --export AA8E81B4331F7F50| apt-key add -
Dockerfile可能如下所示:

FROM php:5.3-apache

RUN for key in AA8E81B4331F7F50 7638D0442B90D010 9D6D8F6BC857C906; do \
        gpg --recv-keys "$key" \
        && gpg --export "$key" | apt-key add - ; \
    done

RUN apt-get update && \
    apt-get install -y \
        libfreetype6-dev \
        libjpeg62-turbo-dev \
        libmcrypt-dev \
        libpng-dev
从这个角度来看,一个解决方案是

gpg --recv-keys AA8E81B4331F7F50
gpg --export AA8E81B4331F7F50| apt-key add -
Dockerfile可能如下所示:

FROM php:5.3-apache

RUN for key in AA8E81B4331F7F50 7638D0442B90D010 9D6D8F6BC857C906; do \
        gpg --recv-keys "$key" \
        && gpg --export "$key" | apt-key add - ; \
    done

RUN apt-get update && \
    apt-get install -y \
        libfreetype6-dev \
        libjpeg62-turbo-dev \
        libmcrypt-dev \
        libpng-dev