Spring boot Spring boot KeyClope Docker无效:无法从加载URLhttp://localhost:8180/auth/realms/heroes/.well-已知/openid配置

Spring boot Spring boot KeyClope Docker无效:无法从加载URLhttp://localhost:8180/auth/realms/heroes/.well-已知/openid配置,spring-boot,docker,keycloak,Spring Boot,Docker,Keycloak,我已将我的KeyClope和spring boot应用程序dockerize,但我有如下警告: Failed to load URLs from http://localhost:8180/auth/realms/heroes/.well-known/openid-configuratio java.net.ConnectException: Connection refused (Connection refused) 还有一个错误,比如: ERROR 1 --- [nio-9090-e

我已将我的KeyClope和spring boot应用程序dockerize,但我有如下警告:

Failed to load URLs from http://localhost:8180/auth/realms/heroes/.well-known/openid-configuratio 
java.net.ConnectException: Connection refused (Connection refused)
还有一个错误,比如:

 ERROR 1 --- [nio-9090-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet]    : Servlet.service() for servlet [dispatcherServlet] threw exception

您的spring boot应用程序可能无法访问停靠的KeyClope,因为您忘记使用
-p 8180:8180
标志向主机公开端口

尝试使用以下命令运行dockerizes KeyClope:

docker run -p 8180:8180 -e KEYCLOAK_USER=admin -e KEYCLOAK_PASSWORD=admin quay.io/keycloak/keycloak:12.0.4 -Djboss.http.port=8180

如果KeyClope和spring应用程序都在docker内部运行,则无法连接到http://localhost:8180 从spring容器中

相反,请确保keydove容器已经有一个名称(例如,
keydove
),或者以name
docker run--name keydove…启动它

然后将此名称用于spring booot应用程序中的KeyClope配置

http://keycloak:8080/auth/


请确保使用KeyClope容器的内部(!)端口。我不确定这个
8180
端口,但通常
8080
是docker中运行keycloack的默认端口

,但我已经尝试过了,我正在端口8180:8180上运行dockerizes KeyClope,但是你能使用吗?我还假设您的spring boot应用程序在您的机器上而不是在docker上运行,对吗?是的,我可以访问key loak管理面板。。我已经将angular应用程序对接,并将其连接到KeyClope服务器以。。因此,如果您了解这种情况,我的前端angular应用程序将向spring boot应用程序发送令牌,以从中访问数据。。因此,当我将spring应用程序归档并尝试它不起作用时。。但当它在我的机器上运行时,它就工作了,但它在我的角度前端应用程序中工作。。。因此,如果您看到这里,我的angular应用程序将向我的spring boot后端应用程序发送令牌,以便我可以访问数据。。因此,如果我在我的spring boot应用程序中使用docker,它将不起作用。。但在使用我的机器而不是docker时,它能工作。我确信我在端口或API调用中没有任何错误,但仍然不知道为什么它不能正常工作。您的angular应用程序在浏览器中运行。要从那里访问KeyClope,对localhost的请求是正确的。但是spring应用程序在容器中运行java代码。从容器内部看,localhost作为keydove url没有意义,您需要正确的容器名称(
keydove
)或另一个可从内部调用的主机名/域它也不起作用。。我将我的容器名设置为KeyClope,但仍然无法工作。我可以给你发电子邮件或其他东西,以便与你联系吗!