我的场景如下:我在 ubuntu 20.04 服务器上安装了一个 postgres 12,并且在另一个启用了 ipv6 的主机上运行了一个 docker 容器。
我无法使用 ipv6 从 docker 容器内部访问 postgres 服务器。
这些命令在容器内工作:
$ ping POSTGRES_SERVER_IPv4
$ ping POSTGRES_SERVER_IPv6
$ telnet POSTGRES_SERVER_IPv4 5432
但这在容器内部不起作用(但它在 docker 主机上起作用):
$ telnet POSTGRES_SERVER_IPv6 5432
我已经在 postgres pg_hba.conf 中设置了 listen_address = '*' 和“host all all md5”。
编辑:
我意识到我的网络适配器正在使用两个 IPv6,一个是我在 netplan 中定义的静态,另一个在我的网络范围内,但我没有分配它。