You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jhipster应用Registry容器启动失败求助:Docker Compose执行报错

可能的原因分析

从错误日志的核心异常java.lang.IllegalArgumentException: Unable to resolve Configuration with the provided Issuer of "http://keycloak:9080/realms/jhipster"来看,问题出在Registry无法连接到Keycloak获取OAuth2配置,以下是常见原因:

  • Keycloak容器未正常运行
    检查Keycloak容器的状态,执行docker-compose ps查看keycloak服务是否处于up状态。如果容器未启动或启动失败,查看Keycloak的日志定位启动问题。

  • 容器网络不通
    Registry和Keycloak容器需要处于同一个Docker网络才能通过服务名keycloak互相访问。确认两个容器是否在同一网络中:如果是通过不同的docker-compose文件启动,需要手动将它们连接到同一网络;如果是同一个compose文件,确保配置了自定义网络或使用默认网络且服务名解析正常。

  • Keycloak的jhipster Realm未创建
    登录Keycloak控制台(默认地址http://localhost:9080),检查是否存在名为jhipster的Realm。如果第一次启动Keycloak时初始化脚本未执行成功,会导致Realm缺失,Registry无法获取对应的OAuth2配置。

  • Registry启动过早,Keycloak未就绪
    Keycloak首次启动需要初始化数据库和Realm,耗时较长。如果Registry在Keycloak完全就绪前启动,就会出现连接失败。可以在docker-compose配置中给Registry添加依赖和健康检查:
    在Registry服务配置中添加:

    depends_on:
      keycloak:
        condition: service_healthy
    

    同时给Keycloak服务添加健康检查:

    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:9080/realms/jhipster/.well-known/openid-configuration"]
      interval: 10s
      timeout: 5s
      retries: 5
    
  • Issuer地址配置错误
    检查Registry的配置文件(如application.yml)或环境变量中,spring.security.oauth2.client.provider.jhipster.issuer-uri的值是否正确,确认端口号、Realm名称没有拼写错误。

内容的提问来源于stack exchange,提问作者karl

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 16:35:35