ACE*_*CEG 5 postgresql ubuntu docker
编辑2:经过很长时间,解决了!请参阅下面的答案。
编辑:很遗憾地说,问题在昨天和今天之间“自行解决”,而我没有做任何事情。此处提供了很多很棒的非确定性课程。
我对以前运行的Docker PGSQL映像有问题。直到昨天进行了无启发性的重建(:-D),在过去的5个月中,我已经成功使用了此构建。
我的系统:
问题(来自PGSQL日志的片段):
...
日志:无法绑定IPv6套接字:无法分配请求的地址
提示:端口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 <->
Run Code Online (Sandbox Code Playgroud)
我已经清理了所有docker容器/映像,已经重新安装了docker,没有任何帮助。谁可以使用容器中的5432端口?就此而言,我是否正确阅读了以下内容,即PGSQL抱怨docker容器中已经使用了5432端口?
即使您没有解决方案,有关如何进行调试的基本想法也将大有帮助。
编辑:
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
Run Code Online (Sandbox Code Playgroud)
ACE*_*CEG 11
经过很长一段时间,我们终于弄清楚了问题所在-在此处添加说明,以防其他人受到帮助。
由于pgsql默认情况下仅侦听localhost,因此当它在具有端口映射配置的docker容器中运行时,外部API无法连接到pgsql服务器。
解决方案是允许pgsql监听所有IP地址:
连接到数据库容器外壳: $ docker exec -ti db bash
更改配置文件/var/lib/postgresql/data/postgresql.conf以允许pgsql侦听所有IP:listen_addresses = '*'
| 归档时间: |
|
| 查看次数: |
2994 次 |
| 最近记录: |