当我使用Maven构建我的Spring Boot应用程序时,该应用程序需要与application.properties中的postgresql数据库建立连接。我只能在使用时才能连接
spring.datasource.url=jdbc:postgresql://localhost:5432/springbootdb
但是当我容器化内置的jar文件时,我的应用程序无法连接到容器外部托管的postgres数据库。
该问题的解决方案是什么?
我仍然是初学者
答案 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