在运行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.
感谢apt有一组可信密钥,有时我们只需要添加缺少的密钥。
您可以通过运行以下命令(在'apt-get update'之前)添加缺失的密钥:
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 7FCC7D46ACCC4CF8
问候。
根据Postgres wiki页面的apt,正确的密钥下载URL是https://www.postgresql.org/media/keys/ACCC4CF8.asc
,这与RUN命令中的URL不匹配。