
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
该镜像基于https://hub.docker.com/r/jboss/keycloak/%E6%9E%84%E5%BB%BA%EF%BC%8C%E9%92%88%E5%AF%B9Keycloak%E5%AE%98%E6%96%B9%E6%96%87%E6%A1%A3%E4%B8%AD%E5%85%B3%E4%BA%8E%E5%A4%96%E9%83%A8HTTPS%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86%E7%9A%84%E5%BB%BA%E8%AE%AE%EF%BC%8C%E5%AF%B9Undertow%E5%AD%90%E7%B3%BB%E7%BB%9F%E5%92%8Csocket%E7%BB%91%E5%AE%9A%E9%85%8D%E7%BD%AE%E8%BF%9B%E8%A1%8C%E4%BA%86%E4%BC%98%E5%8C%96%EF%BC%8C%E4%BB%A5%E7%A1%AE%E4%BF%9DKeycloak%E5%9C%A8%E5%A4%96%E9%83%A8HTTPS%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86%E7%8E%AF%E5%A2%83%E4%B8%8B%E8%83%BD%E5%A4%9F%E6%AD%A3%E7%A1%AE%E5%A4%84%E7%90%86%E8%AF%B7%E6%B1%82%E8%BD%AC%E5%8F%91%E3%80%82
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 镜像,适用于 不同场景 等不同场景: