PostgreSQL docker:“无法绑定IPv6套接字:无法分配请求的地址”

编辑:我很遗憾地说,这些问题在昨天和今天之间“独立”消失,没有我做任何事情。 在这里学习的伟大的非确定性的教训…奖金乐趣:“无法绑定IPv6套接字”的错误仍然出现在错误日志中,所以这可能甚至不是问题摆在首位。

我以前运行的docker PGSQL映像有问题。 直到昨天没有灵感的重build(:-D),我已经成功地使用了这个构build过去5个月以上。

我的系统:

  • Ubuntu 17.04 64b
  • PGSQL 9.6.4
  • Docker版本17.11.0-ce,构build1caf76c
  • 我将主机端口5433映射到容器端口5432

问题 (从PGSQL日志片段):

日志:无法绑定IPv6套接字:无法分配请求的地址

提示:另一位邮差pipe理员已经在端口5432上运行了吗? 如果没有,等待几秒钟,然后重试。

这是ss告诉我的(当容器运行时,显然):

$ docker exec -it db ss -atune Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port udp ESTAB 0 0 127.0.0.1:45876 127.0.0.1:45876 uid:999 ino:147509 sk:00000001 <-> tcp LISTEN 0 128 127.0.0.1:5432 *:* uid:999 ino:147500 sk:00000002 <-> 

我已经清理所有docker集装箱/图像,我已经重新安装docker工人,没有任何帮助。 谁可能使用容器中的5432端口? 对于这个问题,我是否正确地阅读了这个问题,PGSQL是抱怨docker容器中已经使用了5432端口?

即使你没有解决scheme,如何进行debugging的基本思路将是一个很大的帮助。

编辑:

postgres.docker文件

 FROM postgres:9.6.4 ADD bin/postgres-setup.sh /docker-entrypoint-initdb.d/postgres-setup.sh RUN chmod 755 /docker-entrypoint-initdb.d/postgres-setup.sh && \ apt-get update && \ apt-get install -y --no-install-recommends postgresql-plpython3-9.6 python3-pip postgresql-9.6-pldebugger && \ pip3 install pyexcel pyexcel-xls pyexcel-xlsx pyexcel-xlsxw