
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
docker-kong-oidc是一个基于Kong的Docker镜像,集成了https://github.com/revomatico/kong-oidc%E6%8F%92%E4%BB%B6%EF%BC%88%E5%9F%BA%E4%BA%8Ezmartzone/lua-resty-openidc%EF%BC%89%EF%BC%8C%E6%8F%90%E4%BE%9BOpenID Connect(OIDC)认证能力。镜像仓库地址:https://hub.docker.com/r/cristianchiru/docker-kong-oidc。
注意:从版本https://github.com/revomatico/docker-kong-oidc/releases/tag/3.2.2-1%E5%BC%80%E5%A7%8B%EF%BC%8CDocker%E4%BB%93%E5%BA%93%E8%BF%81%E7%A7%BB%E8%87%B3%E4%B8%AA%E4%BA%BA%E8%B4%A6%E5%8F%B7%E3%80%82%E6%97%A7%E4%BB%93%E5%BA%93%EF%BC%88https://hub.docker.com/r/revomatico/docker-kong-oidc)仍可使用,但已被视为 deprecated。
启用插件
通过环境变量启用oidc插件:
bashKONG_PLUGINS=bundled,oidc
会话密钥设置
必须通过环境变量定义会话密钥:
bashKONG_X_SESSION_SECRET="your-secure-session-secret"
默认会话名称
默认会话名称为oidc_session,可通过以下环境变量修改:
bashKONG_X_SESSION_NAME="custom-session-name"
1. Cookie存储(默认,不推荐)
适用于简单场景,但不建议生产环境使用。
增大Nginx头大小(当会话信息较多时):
bashKONG_NGINX_LARGE_CLIENT_HEADER_BUFFERS='4 16k'
启用会话压缩:
bashKONG_X_SESSION_COMPRESSOR=zlib
2. Memcached存储
推荐与支持Memcache协议的分布式缓存(如Hazelcast)配合使用。
启用Memcached存储:
bashKONG_X_SESSION_STORAGE=memcache
配置参数:
| 环境变量 | 描述 | 默认值 |
|---|---|---|
| KONG_X_SESSION_MEMCACHE_HOST | Memcached主机 | memcached |
| KONG_X_SESSION_MEMCACHE_PORT | Memcached端口(需双重引号) | "'***'" |
| KONG_X_SESSION_MEMCACHE_USELOCKING | 是否启用锁定 | off |
| KONG_X_SESSION_MEMCACHE_SPINLOCKWAIT | 自旋锁等待时间 | 150 |
| KONG_X_SESSION_MEMCACHE_MAXLOCKWAIT | 最大锁定等待时间 | 30 |
| KONG_X_SESSION_MEMCACHE_POOL_TIMEOUT | 连接池超时 | 10 |
| KONG_X_SESSION_MEMCACHE_POOL_SIZE | 连接池大小 | 10 |
| KONG_X_SESSION_MEMCACHE_CONNECT_TIMEOUT | 连接超时(毫秒) | 1000 |
| KONG_X_SESSION_MEMCACHE_SEND_TIMEOUT | 发送超时(毫秒) | 1000 |
| KONG_X_SESSION_MEMCACHE_READ_TIMEOUT | 读取超时(毫秒) | 1000 |
3. DSHM存储(Hazelcast + Vertex)
基于https://github.com/grrolland/ngx-distributed-shm%E5%BA%93%EF%BC%8C%E9%80%82%E7%94%A8%E4%BA%8E%E5%88%86%E5%B8%83%E5%BC%8F%E7%8E%AF%E5%A2%83%E3%80%82
启用DSHM存储:
bashKONG_X_SESSION_STORAGE=dshm
配置参数:
| 环境变量 | 描述 | 默认值 |
|---|---|---|
| X_SESSION_DSHM_REGION | 会话区域 | oidc_sessions |
| X_SESSION_DSHM_CONNECT_TIMEOUT | 连接超时(毫秒) | 1000 |
| X_SESSION_DSHM_SEND_TIMEOUT | 发送超时(毫秒) | 1000 |
| X_SESSION_DSHM_READ_TIMEOUT | 读取超时(毫秒) | 1000 |
| X_SESSION_DSHM_HOST | DSHM主机 | hazelcast |
| X_SESSION_DSHM_PORT | DSHM端口 | 4321 |
| X_SESSION_DSHM_POOL_NAME | 连接池名称 | oidc_sessions |
| X_SESSION_DSHM_POOL_TIMEOUT | 连接池超时(毫秒) | 1000 |
| X_SESSION_DSHM_POOL_SIZE | 连接池大小 | 10 |
| X_SESSION_DSMM_POOL_BACKLOG | 连接池等待队列长度 | 10 |
4. SHM存储(共享内存)
适用于单实例部署,无需额外软件。
启用SHM存储:
bashKONG_X_SESSION_STORAGE=shm
配置参数:
| 环境变量 | 描述 | 默认值 |
|---|---|---|
| KONG_X_SESSION_SHM_STORE | 共享内存区域名称 | oidc_sessions |
| KONG_X_SESSION_SHM_STORE_SIZE | 共享内存大小 | 5m |
| KONG_X_SESSION_SHM_USELOCKING | 是否启用锁定 | no |
| KONG_X_SESSION_SHM_LOCK_EXPTIME | 锁过期时间 | 30 |
| KONG_X_SESSION_SHM_LOCK_TIMEOUT | 锁超时时间 | 5 |
| KONG_X_SESSION_SHM_LOCK_STEP | 锁等待步长 | 0.001 |
| KONG_X_SESSION_SHM_LOCK_RATIO | 锁等待比例 | 2 |
| KONG_X_SESSION_SHM_LOCK_MAX_STEP | 最大锁等待步长 | 0.5 |
通过环境变量指定IP排除列表文件:
bashKONG_X_NOLOG_LIST_FILE=/tmp/nolog.txt
文件格式(每行一个IP,格式为ip 0;):
127.0.0.1 0; # 排除本地访问日志
基本运行命令
bashdocker run -d \ -p 8000:8000 \ -p 8443:8443 \ -e "KONG_PLUGINS=bundled,oidc" \ -e "KONG_X_SESSION_SECRET=your-secret-key" \ -e "KONG_X_SESSION_STORAGE=shm" \ cristianchiru/docker-kong-oidc:latest
docker-compose配置示例
yamlversion: '3' services: kong-oidc: image: cristianchiru/docker-kong-oidc:latest ports: - "8000:8000" - "8443:8443" environment: - KONG_PLUGINS=bundled,oidc - KONG_X_SESSION_SECRET=your-secure-secret - KONG_X_SESSION_STORAGE=memcache - KONG_X_SESSION_MEMCACHE_HOST=memcached-service - KONG_X_SESSION_MEMCACHE_PORT="'11211'" depends_on: - memcached-service memcached-service: image: memcached:alpine ports: - "11211:11211"
KONG_X_NOLOG_LIST_FILE,支持排除指定IP的访问日志。您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

来自真实用户的反馈,见证轩辕镜像的优质服务