【问题标题】:Dockerfile fail to verify Postgres apt signatureDockerfile 无法验证 Postgres apt 签名
【发布时间】:2021-10-21 21:26:31
【问题描述】:

在运行 docker-compose up 时,我卡在 Dockerfile 上,抛出无法验证签名的错误。

下一个 RUN 行抛出错误

...

RUN apt-key adv --fetch-keys https://apt.postgresql.org/pub/repos/apt/ACCC4CF8.asc \
    && echo "deb http://apt.postgresql.org/pub/repos/apt bionic-pgdg main" >> /etc/apt/sources.list \
    && apt-get update \
    && apt-get -y install libpq-dev=13.* \
    && apt-get -y install python3.8-dev
...

引发下一个错误

 > [4/6] RUN apt-key adv --fetch-keys https://apt.postgresql.org/pub/repos/apt/ACCC4CF8.asc     && echo "deb http://apt.postgresql.org/pub/repos/apt bionic-pgdg main" >> /etc/apt/sources.list     && apt-get update     && apt-get -y install libpq-dev=13.*     && apt-get -y install python3.8-dev:
#7 0.343 Warning: apt-key output should not be parsed (stdout is not a terminal)
#7 0.372 Executing: /tmp/apt-key-gpghome.9rh9S8guqQ/gpg.1.sh --fetch-keys https://apt.postgresql.org/pub/repos/apt/ACCC4CF8.asc
#7 0.376 gpg: requesting key from 'https://apt.postgresql.org/pub/repos/apt/ACCC4CF8.asc'
#7 0.588 gpg: WARNING: unable to fetch URI https://apt.postgresql.org/pub/repos/apt/ACCC4CF8.asc: General error
#7 0.975 Hit:1 http://archive.ubuntu.com/ubuntu focal InRelease
#7 1.008 Hit:2 http://archive.ubuntu.com/ubuntu focal-updates InRelease
#7 1.011 Get:3 http://apt.postgresql.org/pub/repos/apt bionic-pgdg InRelease [110 kB]
#7 1.052 Hit:4 http://archive.ubuntu.com/ubuntu focal-backports InRelease
#7 1.169 Hit:5 http://security.ubuntu.com/ubuntu focal-security InRelease
#7 1.472 Err:3 http://apt.postgresql.org/pub/repos/apt bionic-pgdg InRelease
#7 1.472   The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 7FCC7D46ACCC4CF8
#7 1.594 Reading package lists...
#7 2.546 W: GPG error: http://apt.postgresql.org/pub/repos/apt bionic-pgdg InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 7FCC7D46ACCC4CF8
#7 2.546 E: The repository 'http://apt.postgresql.org/pub/repos/apt bionic-pgdg InRelease' is not signed.

谢谢

【问题讨论】:

    标签: docker docker-compose dockerfile


    【解决方案1】:

    apt 有一组受信任的密钥,有时我们只需要添加缺少的密钥。

    您只需运行以下命令(在“apt-get update”之前)即可添加缺少的密钥:

    apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 7FCC7D46ACCC4CF8
    

    您好。

    【讨论】:

      【解决方案2】:

      根据Postgres wiki page for apt,正确的密钥下载 URL 是 https://www.postgresql.org/media/keys/ACCC4CF8.asc,它与您的 RUN 命令中的 URL 不匹配。

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-11-27
      • 2013-12-03
      • 1970-01-01
      • 2016-06-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多