首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >公钥不可用: NO_PUBKEY F76221572C52609D

公钥不可用: NO_PUBKEY F76221572C52609D
EN

Stack Overflow用户
提问于 2019-09-18 22:47:06
回答 3查看 7.3K关注 0票数 4

对于下面的docker文件:

代码语言:javascript
复制
FROM microsoft/aspnetcore-build:1.0.1

ENV DOTNET_SKIP_FIRST_TIME_EXPERIENCE 1

# This is FROM openjdk:8-jdk  
RUN apt-get update && apt-get install -y --no-install-recommends \
        bzip2 \
        unzip \
        xz-utils \
                apt-transport-https \
    && rm -rf /var/lib/apt/lists/*

RUN echo 'deb http://deb.debian.org/debian jessie-backports main' > /etc/apt/sources.list.d/jessie-backports.list
RUN echo 'deb https://apt.dockerproject.org/repo debian-jessie main' > /etc/apt/sources.list.d/docker.list

# Default to UTF-8 file.encoding
ENV LANG C.UTF-8

# add a simple script that can auto-detect the appropriate JAVA_HOME value
# based on whether the JDK or only the JRE is installed
RUN { \
        echo '#!/bin/sh'; \
        echo 'set -e'; \
        echo; \
        echo 'dirname "$(dirname "$(readlink -f "$(which javac || which java)")")"'; \
    } > /usr/local/bin/docker-java-home \
    && chmod +x /usr/local/bin/docker-java-home

ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64

ENV JAVA_VERSION 8u111
ENV JAVA_DEBIAN_VERSION 8u111-b14-2~bpo8+1

# see https://bugs.debian.org/775775
# and https://github.com/docker-library/java/issues/19#issuecomment-70546872
ENV CA_CERTIFICATES_JAVA_VERSION 20140324

RUN set -x \
    && apt-get update \
    && apt-get install -y \
        openjdk-8-jdk="$JAVA_DEBIAN_VERSION" \
        ca-certificates-java="$CA_CERTIFICATES_JAVA_VERSION" \
    && rm -rf /var/lib/apt/lists/* \
    && [ "$JAVA_HOME" = "$(docker-java-home)" ]

# see CA_CERTIFICATES_JAVA_VERSION notes above
RUN /var/lib/dpkg/info/ca-certificates-java.postinst configure

##### END OF THE JDK

##### START Jenkins Slave Node Config settings

# Create Jenkins User
RUN useradd jenkins -m -s /bin/bash

RUN chown -R jenkins /home/jenkins
RUN chgrp -R jenkins /home/jenkins
RUN chown -R jenkins /tmp
RUN chgrp -R jenkins /tmp

# Add the jenkins user to sudoers
RUN echo "jenkins    ALL=(ALL)    ALL" >> etc/sudoers

# Must install docker to create docker images from docker container. Inception. Head... hurts.
# container must be called with -v /var/run/docker.sock:/var/run/docker.sock
RUN 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 58118E89F3A912897C070ADBF76221572C52609D
RUN apt-get update && apt-get install -y --no-install-recommends \
    docker-engine \
&& rm -rf /var/lib/apt/lists/*

# This must run after the docker install 
RUN gpasswd -a jenkins docker

USER jenkins

第38行命令生成映像失败

代码语言:javascript
复制
RUN set -x \
    && apt-get update \
    && apt-get install -y \
        openjdk-8-jdk="$JAVA_DEBIAN_VERSION" \
        ca-certificates-java="$CA_CERTIFICATES_JAVA_VERSION" \
    && rm -rf /var/lib/apt/lists/* \
    && [ "$JAVA_HOME" = "$(docker-java-home)" ]

有错误:

W: GPG错误:https://apt.dockerproject.org debian-jessie InRelease:由于公钥不可用,无法验证以下签名: NO_PUBKEY F76221572C52609D

W:以下密钥ID没有可用的公钥: AA8E81B4331F7F50 W:未能获取http://deb.debian.org/debian/dists/jessie-backports/main/binary-amd64/Packages

404未找到

E:有些索引文件下载失败。他们被忽略了,或者用旧的代替。错误:服务'slavedotnet‘构建失败:命令'/bin/sh -c set -x & apt-get update & apt-get安装-y openjdk-8-jdk="$JAVA_DEBIAN_VERSION“-x& rm -rf

/var/lib/apt/list/* && "$JAVA_HOME“=”$()“‘返回一个非零代码: 100

如何解决公钥错误?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-09-19 06:31:40

这里有几个问题:

1) W: GPG错误:https://apt.dockerproject.org debian:由于公钥不可用,无法验证以下签名: NO_PUBKEY F76221572C52609D W:以下密钥ID没有可用的公钥: AA8E81B4331F7F50

解决方案:

将密钥服务器添加操作移动到RUN echo 'deb http://deb.debian.org/debian jessie-backports main' > /etc/apt/sources.list.d/jessie-backports.list之前的位置,同时添加AA8E81B4331F7F50,如下所示:

代码语言:javascript
复制
RUN 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 58118E89F3A912897C070ADBF76221572C52609D
RUN apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys AA8E81B4331F7F50

(

2) W:未能获取http://deb.debian.org/debian/dists/jessie-backports/main/binary-amd64/Packages 404未找到

E:有些索引文件下载失败。他们被忽略了,或者用旧的代替。

解决方案:

microsoft/aspnetcore-build:1.0.1基于debian8,您希望使用默认不在apt存储库中的openjdk8。所以你使用deb http://deb.debian.org/debian jessie-backports main

不幸的是,如果您检查http://ftp.debian.org/debian/dists/,您将发现jessie-backports已被删除。因此,您必须切换到与next一样的归档url (注释旧的url,只需使用url ):

代码语言:javascript
复制
#RUN echo 'deb http://deb.debian.org/debian jessie-backports main' > /etc/apt/sources.list.d/jessie-backports.list
RUN echo 'deb http://archive.debian.org/debian jessie-backports main' > /etc/apt/sources.list.d/jessie-backports.list

同时,您必须在完成上述操作后添加next来解析release-file-expired-problem

代码语言:javascript
复制
RUN echo "Acquire::Check-Valid-Until \"false\";" > /etc/apt/apt.conf.d/100disablechecks

3) ENV JAVA_VERSION 8u111

ENV JAVA_DEBIAN_VERSION 8u111-b14-2~bpo8+1

解决方案:

不确定如何获得此版本,但实际上,在对jessie backports进行存档之后,您可以得到的内容如下:

代码语言:javascript
复制
root@2ecaeffec483:/etc/apt# apt-cache policy openjdk-8-jdk
openjdk-8-jdk:
  Installed: (none)
  Candidate: 8u171-b11-1~bpo8+1
  Version table:
     8u171-b11-1~bpo8+1 0
        100 http://archive.debian.org/debian/ jessie-backports/main amd64 Packages

所以,你必须换到下一个:

代码语言:javascript
复制
ENV JAVA_VERSION 8u171
ENV JAVA_DEBIAN_VERSION 8u171-b11-1~bpo8+1
票数 5
EN

Stack Overflow用户

发布于 2021-11-09 12:44:35

此脚本将自动添加大多数丢失的GPG键:

代码语言:javascript
复制
#!/bin/bash

set -e

for PUBKEY in $(apt-get update 2>&1 | grep NO_PUBKEY | awk '{print $NF}')
do
 wget -q "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x${PUBKEY}" -O - | sed -n '/BEGIN/,/END/p' | apt-key add - 2>/dev/null
done

唯一的先决条件是安装wget。它也可以与curl一起使用。

票数 0
EN

Stack Overflow用户

发布于 2022-04-11 13:56:14

若要修复以下内容,请执行以下操作:

代码语言:javascript
复制
W: There is no public key available for the following key IDs:

AA8E81B4331F7F50

只需使用以下代码:

代码语言:javascript
复制
sudo apt-get install debian-keyring debian-archive-keyring

sudo apt-key update

sudo apt-get update
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58001628

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档