- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
编辑 2: 很长一段时间后,解决了!请参阅下面的答案。
编辑:我很遗憾地说,这些问题从昨天到今天“自行”消失了,而我什么也没做。在这里学习很好的非确定性类(class)......额外的乐趣:“无法绑定(bind) IPv6 套接字”错误仍然出现在错误日志中,所以这可能根本不是问题所在。
我对之前正常运行的 docker PGSQL 镜像有疑问。直到昨天 (:-D) 进行了一次毫无灵感的重建,在过去的 5 个多月里,我已经成功地使用了这个构建。
我的系统:
问题(来自 PGSQL 日志的片段):
...
LOG: could not bind IPv6 socket: Cannot assign requested address
HINT: Is another postmaster already running on port 5432? If not, wait a few seconds and retry.
...
这就是 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 提示 5432 端口已在 docker 容器中使用?
即使您没有解决方案,了解如何进行调试的基本概念也会有很大帮助。
编辑:
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
最佳答案
经过很长一段时间,我们终于弄清楚了问题所在——在这里添加解释,以防对其他人有所帮助。
由于 pgsql 默认只监听 localhost,当它运行在 docker 容器中时,我们有端口映射配置,外部 API 无法连接到 pgsql 服务器。
解决方案是让pgsql监听所有IP地址:
连接到数据库容器外壳:$ docker exec -ti db bash
更改配置文件 /var/lib/postgresql/data/postgresql.conf
以允许 pgsql 监听所有 IP:listen_addresses = '*'
关于PostgreSQL docker : "could not bind IPv6 socket: Cannot assign requested address",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47890233/
我是一名优秀的程序员,十分优秀!