Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring Boot Docker容器可以';t连接到Docker主机上托管的postgresql_Postgresql_Maven_Docker_Spring Boot - Fatal编程技术网

Spring Boot Docker容器可以';t连接到Docker主机上托管的postgresql

Spring Boot Docker容器可以';t连接到Docker主机上托管的postgresql,postgresql,maven,docker,spring-boot,Postgresql,Maven,Docker,Spring Boot,当我使用maven构建spring boot应用程序时,应用程序需要连接到application.properties中的postgresql数据库。它只能在我使用时连接 spring.datasource.url=jdbc:postgresql://localhost:5432/springbootdb 但是,当我将构建的jar文件容器化时,我的应用程序无法连接到容器外部托管的postgres数据库 这个问题的解决方案是什么 我还是18.03文档的初学者: 我想从容器连接到主机上的服务 主机

当我使用maven构建spring boot应用程序时,应用程序需要连接到application.properties中的postgresql数据库。它只能在我使用时连接

spring.datasource.url=jdbc:postgresql://localhost:5432/springbootdb
但是,当我将构建的jar文件容器化时,我的应用程序无法连接到容器外部托管的postgres数据库

这个问题的解决方案是什么

我还是18.03文档的初学者

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

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

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

例如:


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

您在哪里托管了PostgreSQL数据库

用实际机器IP地址(PostgreSQL数据库机器地址)替换本地主机

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

你在使用Windows吗?是的,我在使用Windows 10不适合我:java.net.UnknownHostException:postgresql当我想用Maven构建时,你的postgresql数据库在哪里?在安装docker的同一台机器上?还是在外面?(windows?)docker应用程序(windows/ubuntu?)在哪里?它在我的windows localhost上,但我认为容器有另一个环境。与docker Right相同的机器您的防火墙是否阻止传入/传出端口5432?你能在你的windows防火墙上添加/允许输入和输出5432吗?很遗憾,它对我不起作用,谢谢你的建议。上面的信息可以在这里的网络文档中找到:
spring.datasource.url=jdbc:postgresql:<ip_address>:5432/springbootdb