6
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

PostgreSQL 公式の DockerFile をビルドしたら gpg: keyserver receive failed: Address not available で落ちる

Last updated at Posted at 2019-01-25

概要

PostgreSQL の公式の DockerFile を GitHub から取得して、ビルドしたところエラーが出てビルドできませんでした。

+ gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4
gpg: keybox '/tmp/tmp.TJGmsE5I4v/pubring.kbx' created
gpg: keyserver receive failed: Cannot assign requested address postgresql
keyserver receive failed: Cannot assign requested address postgresql

なにをやってもほぼ間違いなく上記のエラーが出るのですが、ごくまれに docker のビルドに成功するのです。
どういうことなのか、とはまってしまいました。

正解

GitHubのイシュー の F30 さんの方法で現象を回避できました。

(Came here through Google after having the same error in a different container.)

In my case, the error with [ha.]pool.sks-keyservers.net was related to IPv4 vs. IPv6: GPG's dirmngr might select a v6 server from the pool and try to connect to it, even though it doesn't have v6 connectivity inside the container.
I'm not sure whether this is a bug in Docker or dirmngr, but there is at least this bug related to dirmngr and IPv6.

If one wants stay with sks-keyservers, ipv4.pool.sks-keyservers.net can be used.

彼の説明によると、dirmngr が ipv6 のサーバーをプールから選択しているが、そのようなサーバーは存在しない、ということでした。
そのため、DockerFile 内のサーバー名を ipv4 のサーバーを明示したら確実に成功するようになりました。

DockerFile_変更前(postgre9.6)
# 31 行目
	&& gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4 \

# 67 行目
	gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys "$key"; \
DockerFile_変更後(postgre9.6)
# 31 行目
	&& gpg --batch --keyserver ipv4.pool.sks-keyservers.net --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4 \

# 67 行目
	gpg --batch --keyserver ipv4.pool.sks-keyservers.net --recv-keys "$key"; \
6
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?