连接到127.0.0.1:5432被拒绝.请检查主机名和端口是否正确,邮政局长是否接受TCP/IP连接



我正在从docker compose运行我的代码,该代码正试图访问本地数据库(postgres(。每当我尝试运行时,我都会收到这个错误

Connection to 127.0.0.1:5432 refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.

但是postgres正在端口5432上运行

这是sudo netstat -ltnp | grep postgres的结果

tcp        0      0 127.0.0.1:5432          0.0.0.0:*               LISTEN      1995/postgres

我在ubunto操作系统上使用postgresv10.9。

如果您试图访问容器内的localhost,那么它是容器的localhost而不是您的机器或任何其他容器。如果你的应用程序和数据库都在同一个组件中声明,请使用相同的网络,你可以使用容器名称

这是正确的,但如果您在本地机器中安装了Postgres,您可以绕过设置机器IP的容器限制,例如连接到Postgres到:5432

如果仍然不起作用,请检查您在本地机器5432端口上是否有任何防火墙限制,并检查Postgres是否设置为从外部源接收数据。

另外,这个例子应该只在"家里"使用,我不建议在公司网络或任何生产环境中使用。

最新更新