我有点不明白为什么我的java应用程序不能连接到postgres数据库。我的目标是通过jdbc连接到postgres数据库。应用程序将在码头容器中运行。
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,并运行了windows入门程序,所以我的安装状态就在运行之后。以下是我的Dockerfile的内容:
FROM java:8
ADD VaultServer /
EXPOSE 3971
EXPOSE 3972
ENTRYPOINT ["java", "-jar", "VaultServer.jar"]
发布于 2016-03-31 14:48:24
在数据文件夹中,有一个名为pg_hba.conf
的文件,您必须将其配置为接受连接。所以您的pg_hba.conf
文件应该有一个类似于host all all YourDockerip/24 md5
的行。
然后配置postgresql.conf
文件。您必须将listen_addresses
更新为all,并通过删除#标记确保取消对该行的注释。所以你的listen_addresses
应该像这个listen_addresses = '*'
。
https://stackoverflow.com/questions/36336325
复制相似问题