
如果你使用 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镜像用于打包jans-client-api,这是一个中间件服务Web应用,提供客户端API功能,适用于集成到身份认证相关系统中。
稳定版本请参见https://github.com/JanssenProject/docker-jans-client-api/releases。对于前沿/不稳定版本,使用镜像`janssenproject/client-api`。
容器支持以下环境变量:
| 环境变量 | 描述 | 默认值 |
|---|---|---|
CN_CONFIG_ADAPTER | 配置后端适配器,可选值为consul或kubernetes | consul |
CN_CONFIG_CONSUL_HOST | Consul的主机名或IP | localhost |
CN_CONFIG_CONSUL_PORT | Consul的端口 | 8500 |
CN_CONFIG_CONSUL_CONSISTENCY | Consul一致性模式,可选default、consistent或stale | stale |
CN_CONFIG_CONSUL_SCHEME | Consul支持的协议,http或https | - |
CN_CONFIG_CONSUL_VERIFY | 是否验证证书 | false |
CN_CONFIG_CONSUL_CACERT_FILE | Consul CA证书文件路径,当CN_CONFIG_CONSUL_VERIFY为true且文件存在时使用 | /etc/certs/consul_ca.crt |
CN_CONFIG_CONSUL_CERT_FILE | Consul证书文件路径 | /etc/certs/consul_client.crt |
CN_CONFIG_CONSUL_KEY_FILE | Consul密钥文件路径 | /etc/certs/consul_client.key |
CN_CONFIG_CONSUL_TOKEN_FILE | 包含ACL令牌的文件路径 | /etc/certs/consul_token |
CN_CONFIG_KUBERNETES_NAMESPACE | Kubernetes命名空间 | default |
CN_CONFIG_KUBERNETES_CONFIGMAP | Kubernetes配置映射名称 | jans |
CN_CONFIG_KUBERNETES_USE_KUBE_CONFIG | 是否从$HOME/.kube/config加载凭据(仅非容器环境有用) | false |
CN_CONFIG_GOOGLE_SECRET_VERSION_ID | Google Secret Manager中Janssen配置密钥的版本ID | latest |
CN_CONFIG_GOOGLE_SECRET_NAME_PREFIX | Google Secret Manager中Janssen配置密钥的前缀,默认创建jans-configuration密钥 | jans |
CN_SECRET_ADAPTER | 密钥适配器,可选vault、kubernetes或google | vault |
CN_SECRET_VAULT_SCHEME | Vault支持的协议,http或https | - |
CN_SECRET_VAULT_HOST | Vault的主机名或IP | localhost |
CN_SECRET_VAULT_PORT | Vault的端口 | 8200 |
CN_SECRET_VAULT_VERIFY | 是否验证证书 | false |
CN_SECRET_VAULT_ROLE_ID_FILE | 包含Vault AppRole角色ID的文件路径 | /etc/certs/vault_role_id |
CN_SECRET_VAULT_SECRET_ID_FILE | 包含Vault AppRole密钥ID的文件路径 | /etc/certs/vault_secret_id |
CN_SECRET_VAULT_CERT_FILE | Vault证书文件路径 | /etc/certs/vault_client.crt |
CN_SECRET_VAULT_KEY_FILE | Vault密钥文件路径 | /etc/certs/vault_client.key |
CN_SECRET_VAULT_CACERT_FILE | Vault CA证书文件路径,当CN_SECRET_VAULT_VERIFY为true且文件存在时使用 | /etc/certs/vault_ca.crt |
CN_SECRET_KUBERNETES_NAMESPACE | Kubernetes命名空间 | default |
CN_SECRET_KUBERNETES_SECRET | Kubernetes密钥名称 | jans |
CN_SECRET_KUBERNETES_USE_KUBE_CONFIG | 是否从$HOME/.kube/config加载凭据(仅非容器环境有用) | false |
CN_SECRET_GOOGLE_SECRET_VERSION_ID | Google Secret Manager中Janssen密钥的版本ID | latest |
CN_SECRET_GOOGLE_SECRET_MANAGER_PASSPHRASE | Google Secret Manager中Janssen密钥的密码,建议修改 | secret |
CN_SECRET_GOOGLE_SECRET_NAME_PREFIX | Google Secret Manager中Janssen密钥的前缀,默认创建jans-secret密钥 | jans |
CN_WAIT_MAX_TIME | 启动“健康检查”的最长运行时间(秒) | 300 |
CN_WAIT_SLEEP_DURATION | 启动“健康检查”之间的延迟(秒) | 10 |
CN_MAX_RAM_PERCENTAGE | 传递给Java选项-XX:MaxRAMPercentage的值 | - |
CN_PERSISTENCE_TYPE | 持久化后端类型,可选ldap、couchbase或hybrid | ldap |
CN_PERSISTENCE_LDAP_MAPPING | 指定应保存在LDAP中的数据,可选default、user、cache、site或token,仅当CN_PERSISTENCE_TYPE为hybrid时生效 | default |
CN_LDAP_URL | LDAP服务器的地址和端口,当CN_PERSISTENCE_TYPE为ldap或hybrid时必填 | localhost:1636 |
CN_LDAP_USE_SSL | 是否使用SSL连接到LDAP服务器 | true |
CN_COUCHBASE_URL | Couchbase服务器的地址,当CN_PERSISTENCE_TYPE为couchbase或hybrid时必填 | localhost |
CN_COUCHBASE_USER | Couchbase服务器的用户名,当CN_PERSISTENCE_TYPE为couchbase或hybrid时必填 | admin |
CN_COUCHBASE_CERT_FILE | Couchbase根证书位置,当CN_PERSISTENCE_TYPE为couchbase或hybrid时必填 | /etc/certs/couchbase.crt |
CN_COUCHBASE_PASSWORD_FILE | 包含Couchbase密码的文件路径,当CN_PERSISTENCE_TYPE为couchbase或hybrid时必填 | /etc/jans/conf/couchbase_password |
CN_COUCHBASE_CONN_TIMEOUT | 打开bucket时的连接超时(毫秒) | 10000 |
CN_COUCHBASE_CONN_MAX_WAIT | 重试连接前的最长等待时间(毫秒) | 20000 |
CN_COUCHBASE_SCAN_CONSISTENCY | 默认扫描一致性,可选not_bounded、request_plus或statement_plus | not_bounded |
CN_COUCHBASE_BUCKET_PREFIX | Couchbase bucket的前缀 | jans |
CN_COUCHBASE_TRUSTSTORE_ENABLE | 是否为加密的Couchbase连接启用信任存储 | true |
CN_COUCHBASE_KEEPALIVE_INTERVAL | Couchbase连接的保持活动间隔(毫秒) | 30000 |
CN_COUCHBASE_KEEPALIVE_TIMEOUT | Couchbase连接的保持活动超时(毫秒) | 2500 |
CN_CLIENT_API_APPLICATION_CERT_CN | 应用证书主题中使用的CommonName | - |
CN_CLIENT_API_ADMIN_CERT_CN | 管理员证书主题中使用的CommonName | - |
CN_CLIENT_API_BIND_IP_ADDRESSES | 允许访问client-api的逗号分隔主机/IP地址 | * |
CN_JAVA_OPTIONS | 传递给入口点的Java选项,如-Xmx1024m | 空字符串 |
GOOGLE_PROJECT_ID | Google项目ID,当CN_CONFIG_ADAPTER或CN_SECRET_ADAPTER为google时使用 | 空字符串 |
GOOGLE_APPLICATION_CREDENTIALS | Google凭据JSON文件的路径,当CN_CONFIG_ADAPTER或CN_SECRET_ADAPTER为google时使用 | /etc/jans/conf/google-credentials.json |
适用于需要部署jans-client-api作为中间件服务的身份认证系统,支持与Consul、Kubernetes等配置后端集成,以及Vault、Google Secret Manager等密钥管理服务,可根据需求选择不同的持久化后端(LDAP、Couchbase或混合模式)。
使用默认配置运行容器(依赖本地Consul和Vault服务):
bashdocker run -d --name jans-client-api docker.xuanyuan.run/janssenproject/client-api
使用LDAP持久化后端的示例:
bashdocker run -d --name jans-client-api \ -e CN_PERSISTENCE_TYPE=ldap \ -e CN_LDAP_URL=ldap.example.com:1636 \ -e CN_LDAP_USE_SSL=true \ docker.xuanyuan.run/janssenproject/client-api
bashdocker run -d --name jans-client-api \ -e CN_CONFIG_ADAPTER=kubernetes \ -e CN_CONFIG_KUBERNETES_NAMESPACE=jans-namespace \ -e CN_SECRET_ADAPTER=kubernetes \ -e CN_SECRET_KUBERNETES_NAMESPACE=jans-namespace \ janssenproject/client-api
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务