【发布时间】:2016-07-20 01:54:25
【问题描述】:
对于为什么我的 java 应用程序无法连接到我的 postgres 数据库,我有点迷茫。我的目标是通过 jdbc 连接到 postgres 数据库。该应用程序将在 docker 容器内运行。
this.connection = `DriverManager.getConnection("jdbc:postgresql://<myip>:5432/databasename", "usr", "password");`
我遇到了异常:
Connection refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.
当我从桌面运行应用程序时,它会按预期连接。当我从 docker 容器中运行它时,它失败了。
我今天下午刚刚安装了 docker,并运行了 windows 的入门,所以我的设置状态是在运行之后。这是我的 Dockerfile 的内容:
FROM java:8
ADD VaultServer /
EXPOSE 3971
EXPOSE 3972
ENTRYPOINT ["java", "-jar", "VaultServer.jar"]
【问题讨论】:
-
您是否正确配置了pg_hba.conf 文件以接受来自 docker 容器 IP 地址的连接?
-
我想是的。这是我本地机器上的一个安装,我没有修改它,因为它最初是由默认进程创建的。它只有以下内容: # IPv4 本地连接:host all all 127.0.0.1/32 md5 # IPv6 local connections:host all all ::1/128 md5
-
您似乎想从 Docker 容器内的应用程序连接到主机上的 PostgreSQL 安装。如果是这种情况,请在此处阅读stackoverflow.com/questions/31249112/…
标签: java postgresql docker