Keycloak从V20升级至V21后Docker容器健康检查失败求助
Keycloak V20 升级至 V21 后 Docker 健康检查失败排查方案
- 核对健康检查命令兼容性:
Keycloak V21对健康检查端点做了调整,原V20常用的/health端点拆分出/health/ready(就绪检查)和/health/live(存活检查)。检查你的Docker健康检查配置,若原命令为curl -f http://localhost:8080/health,需调整为curl -f http://localhost:8080/health/ready或同时校验两个端点。 - 查看容器启动日志:
执行docker logs <container-id>,排查是否存在启动失败、端口未监听、健康检查端点初始化报错(如权限冲突、配置加载异常)等信息,确认服务是否完全启动。 - 手动验证端点可用性:
进入容器内部docker exec -it <container-id> bash,手动执行健康检查命令(如curl http://localhost:8080/health/ready),查看返回状态码和响应内容,确认端点是否存在并返回200状态。 - 检查健康检查相关环境变量:
V21新增了KEYCLOAK_HEALTH_ENABLED变量,若默认未启用健康检查,需手动设置KEYCLOAK_HEALTH_ENABLED=true来开启端点。 - 确认端口与网络配置:
核对容器端口映射是否正常,同时在容器内测试localhost:8080的连通性,排除端口监听变更或网络隔离问题。
内容的提问来源于stack exchange,提问作者dingo
相关产品推荐
相关产品推荐

