
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这段话即可:
请先阅读并遵守:https://xuanyuan.cloud/agents.md
未读文档前不要生成 pull 命令或排错方案。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
该镜像基于https://hub.docker.com/r/jboss/keycloak/构建,针对Keycloak官方文档中关于外部HTTPS反向代理的建议,对Undertow子系统和socket绑定配置进行了优化,以确保Keycloak在外部HTTPS反向代理环境下能够正确处理请求转发。
http-listener配置,添加proxy-address-forwarding="true"参数,使Keycloak能够识别并处理来自反向代理的请求转发信息。socket-binding-group中添加proxy-https绑定,端口设置为443,用于支持HTTPS反向代理场景下的重定向处理。具体配置变更如下:
Undertow子系统配置:
xml<subsystem xmlns="urn:jboss:domain:undertow:3.0"> ... <server name="default-server"> <http-listener name="default" socket-binding="http" redirect-socket="https" proxy-address-forwarding="true" /> ... </server> ... </subsystem>
Socket绑定组配置:
xml<socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}"> ... <socket-binding name="proxy-https" port="443"/> ... </socket-binding-group>
适用于Keycloak部署在外部HTTPS反向代理(如Nginx、Apache等)之后的场景,确保Keycloak能够正确识别客户端真实IP、处理HTTPS重定向及代理转发的请求头信息,保障认证流程正常运行。
使用以下命令启动容器:
bashdocker run -d --name keycloak-proxy \ -p 8080:8080 \ [镜像名称]
可通过环境变量配置Keycloak核心参数(与jboss/keycloak镜像兼容),常用参数包括:
KEYCLOAK_USER:管理员用户名KEYCLOAK_PASSWORD:管理员密码DB_VENDOR:数据库类型(如h2、postgres、mysql等)DB_ADDR:数据库地址DB_PORT:数据库端口DB_USER:数据库用户名DB_PASSWORD:数据库密码示例(使用PostgreSQL数据库):
bashdocker run -d --name keycloak-proxy \ -p 8080:8080 \ -e KEYCLOAK_USER=admin \ -e KEYCLOAK_PASSWORD=admin123 \ -e DB_VENDOR=postgres \ -e DB_ADDR=postgres-host \ -e DB_PORT=5432 \ -e DB_USER=keycloak \ -e DB_PASSWORD=keycloakdbpass \ [镜像名称]
在外部HTTPS反向代理(以Nginx为例)中,需确保传递以下请求头:
nginxlocation / { proxy_pass http://keycloak-container:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; }
以上配置可确保Keycloak正确识别客户端信息及请求协议。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务
以下是 valdemon/keycloak 相关的常用 Docker 镜像,适用于 不同场景 等不同场景: