Java Docker容器中PostgreSQL DB的正确JDBC连接URL

Java Docker容器中PostgreSQL DB的正确JDBC连接URL,java,postgresql,spring-boot,docker,gitpod,Java,Postgresql,Spring Boot,Docker,Gitpod,我正在使用Gitpod cloud IDE,它使用Docker映像为VSCode IDE提供良好的linux环境 可以在Gitpod中使用Docker文件在环境中安装其他软件。因此,通过遵循Gitpod文档,我安装了PostgreSQL 我现在可以用这个命令连接到PostgreSQL。请注意,我必须提供sockets文件夹才能使其正常工作 psql-h~/pg/sockets postgres 我有一个spring启动应用程序,它应该连接到PostgreSQL数据库。连接URL取自环境变量 导出

我正在使用Gitpod cloud IDE,它使用Docker映像为VSCode IDE提供良好的linux环境

可以在Gitpod中使用Docker文件在环境中安装其他软件。因此,通过遵循Gitpod文档,我安装了PostgreSQL

我现在可以用这个命令连接到PostgreSQL。请注意,我必须提供sockets文件夹才能使其正常工作

psql-h~/pg/sockets postgres

我有一个spring启动应用程序,它应该连接到PostgreSQL数据库。连接URL取自环境变量

导出JDBC_数据库_URL=JDBC:postgresql://gitpod@127.0.0.1/博士后

这就是我的属性文件中的内容

这是我在psql上运行\du以列出用户时得到的结果

postgres=# \du
                                   List of roles
 Role name |                         Attributes                         | Member of 
-----------+------------------------------------------------------------+-----------
 gitpod    | Superuser, Create role, Create DB, Replication, Bypass RLS | {}

登录到此linux环境的Gitpod用户名为Gitpod。我不知道密码

当我运行命令netstat-plunt | grep postgres时,我得到以下输出

tcp        0      0 127.0.0.1:5432          0.0.0.0:*               LISTEN      955/postgres 
但当我运行我的应用程序时,它抛出以下异常

Caused by: java.net.UnknownHostException: gitpod@127.0.0.1
        at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:184) ~[na:1.8.0_202]
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) ~[na:1.8.0_202]
        at java.net.Socket.connect(Socket.java:589) ~[na:1.8.0_202]
        at org.postgresql.core.PGStream.<init>(PGStream.java:75) ~[postgresql-42.2.6.jar!/:42.2.6]
        at org.postgresql.core.v3.ConnectionFactoryImpl.tryConnect(ConnectionFactoryImpl.java:91) ~[postgresql-42.2.6.jar!/:42.2.6]
        at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:192) ~[postgresql-42.2.6.jar!/:42.2.6]
        ... 56 common frames omitted
我认为这应该是连接URL的问题。有人能告诉我怎么让它工作吗

非常感谢你的帮助。
谢谢。

在gitpod社区的帮助下,我成功地在gitpod中实现了这一点

使用gitpod团队预先构建的postgres docker映像(如本文档所述)安装postgreSQL。

我将URL更改为以下内容


导出JDBC_数据库_URL=JDBC:postgresql://localhost:5432/postgres?user=gitpod

不要将用户放在URL中,将其放在spring.datasource.username属性中。
Caused by: java.net.UnknownHostException: gitpod@127.0.0.1
        at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:184) ~[na:1.8.0_202]
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) ~[na:1.8.0_202]
        at java.net.Socket.connect(Socket.java:589) ~[na:1.8.0_202]
        at org.postgresql.core.PGStream.<init>(PGStream.java:75) ~[postgresql-42.2.6.jar!/:42.2.6]
        at org.postgresql.core.v3.ConnectionFactoryImpl.tryConnect(ConnectionFactoryImpl.java:91) ~[postgresql-42.2.6.jar!/:42.2.6]
        at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:192) ~[postgresql-42.2.6.jar!/:42.2.6]
        ... 56 common frames omitted