Spring Boot Docker Container无法连接到Docker主机上托管的Postgresql

时间:2018-07-11 13:39:59

标签: postgresql maven docker spring-boot

当我使用Maven构建我的Spring Boot应用程序时,该应用程序需要与application.properties中的postgresql数据库建立连接。我只能在使用时才能连接

spring.datasource.url=jdbc:postgresql://localhost:5432/springbootdb

但是当我容器化内置的jar文件时,我的应用程序无法连接到容器外部托管的postgres数据库。

该问题的解决方案是什么?

我仍然是初学者

2 个答案:

答案 0 :(得分:1)

从18.03文档开始:

  

我想从容器连接到主机上的服务

     

主机的IP地址正在更改(如果您没有网络,则没有IP地址)   访问)。从18.03开始,我们的建议是连接到   特殊的DNS名称host.docker.internal,解析为内部   主机使用的IP地址。

     

该网关也可以通过gateway.docker.internal访问。

示例:

spring.datasource.url=jdbc:postgresql://host.docker.internal:5432/springbootdb

答案 1 :(得分:0)

您在哪里托管PostgreSQL数据库?

将localhost替换为实际的机器IP地址(PostgreSQL数据库机器地址)

spring.datasource.url=jdbc:postgresql:<ip_address>:5432/springbootdb