
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
cfei/zookeeper是一个用于部署ZooKeeper服务的Docker镜像,支持单节点和集群模式部署。该镜像通过环境变量配置核心参数,提供数据持久化机制,并支持Kerberos认证及ACL访问控制,适用于需要分布式协调服务的场景。
使用docker-compose部署单节点ZooKeeper:
yamlversion: "3" services: zoo: image: cfei/zookeeper ports: - 2181:2181 # 客户端连接端口 - 2888:2888 # leader连接端口 - 3888:3888 # leader选举端口 environment: ZOO_ID: 1 # 节点唯一ID ZOO_PORT: 2181 # 客户端端口 ZOO_SERVERS: server.1=0.0.0.0:2888:3888 # 集群成员列表(单节点配置)
3节点ZooKeeper集群配置(需在不同主机部署):
yamlversion: "3" services: zoo: image: cfei/zookeeper ports: - 2181:2181 - 2888:2888 - 3888:3888 environment: ZOO_ID: 1 # 节点1的ID ZOO_PORT: 2181 ZOO_SERVERS: server.1=0.0.0.0:2888:3888,server.2=<<server_2_ip>>:2888:3888,server.3=<<server_3_ip>>:2888:3888
注意:每个主机建议只部署一个ZooKeeper实例,需确保各节点间网络互通。
| 环境变量 | 说明 |
|---|---|
ZOO_ID | 集群中每个ZooKeeper实例的唯一ID,用于标识自身在集群中的角色 |
ZOO_PORT | 客户端连接端口,默认2181 |
ZOO_SERVERS | 集群成员列表,格式为server.<ZOO_ID>=<ip>:<leader连接端口>:<leader选举端口>,多个节点用逗号分隔 |
| 环境变量 | 说明 | 默认值 |
|---|---|---|
ZOO_AUTHENTICATION | 认证模式,仅支持KERBEROS | 未设置(无认证) |
ZOO_REMOVE_HOST_AND_REALM | 是否仅使用主体名进行ACL验证 | false |
ZOO_KERBEROS_API_URL | Kerberos API的keytab获取URL(需配合KERBEROS模式) | - |
ZOO_KERBEROS_API_USERNAME | Kerberos API认证用户名 | - |
ZOO_KERBEROS_API_PASSWORD | Kerberos API认证密码 | - |
ZOO_KERBEROS_PRINCIPAL | Zookeeper使用的Kerberos主体名 | - |
ZOO_KERBEROS_PUBLIC_URL | Kerberos服务器的公共DNS | - |
ZOO_KERBEROS_REALM | Kerberos领域 | - |
ZOO_TICK_TIME | 时间单位(毫秒),用于计算其他超时参数 | 2000(2秒) |
ZOO_INIT_LIMIT | follower连接并同步到leader的最大ticks数 | 10 |
ZOO_SYNC_LIMIT | follower与leader同步的最大ticks数 | 5 |
ZOO_MAX_CLIENT_CNXNS | 单个实例允许的最大客户端连接数 | 10 |
ZOO_MIN_SESSION_TIMEOUT | 最小会话超时时间 | 2 * ZOO_TICK_TIME |
ZOO_MAX_SESSION_TIMEOUT | 最大会话超时时间 | 20 * ZOO_TICK_TIME |
注意:部分配置项尚未完全实现,当前使用默认值。
| 路径 | 说明 |
|---|---|
/data/zookeeper | 存储ZOO_ID及数据库快照,用于故障恢复,需持久化 |
/datalogs/zookeeper | 存储事务日志,在创建快照前记录更新操作,需持久化 |
1. 使用Kerberos API配置
yamlversion: "3" services: zoo: image: cfei/zookeeper container_name: zookeeper ports: - 2181:2181 - 2888:2888 - 3888:3888 environment: ZOO_ID: 1 ZOO_PORT: 2181 ZOO_SERVERS: server.1=0.0.0.0:2888:3888,server.2=<<zookeeper2_ip>>:2888:3888,server.3=<<zookeeper3_ip>>:2888:3888 ZOO_AUTHENTICATION: KERBEROS ZOO_KERBEROS_PUBLIC_URL: <<kerberos_public_dns>> ZOO_KERBEROS_API_URL: <<kerberos_api_public_dns>>/<<get_keytab_endpoint_route>> ZOO_KERBEROS_API_USERNAME: <<kerberos_zookeeper_principal_name>> ZOO_KERBEROS_API_PASSWORD: <<kerberos_api_zookeeper_password>> ZOO_KERBEROS_REALM: <<kerberos_realm>>
2. 不使用Kerberos API配置(需挂载keytab文件)
yamlversion: "3" services: zoo: image: cfei/zookeeper ports: - 2181:2181 - 2888:2888 - 3888:3888 environment: ZOO_ID: 1 ZOO_PORT: 2181 ZOO_SERVERS: server.1=0.0.0.0:2888:3888,server.2=<<zookeeper2_ip>>:2888:3888,server.3=<<zookeeper3_ip>>:2888:3888 ZOO_AUTHENTICATION: KERBEROS ZOO_KERBEROS_PRINCIPAL: <<zookeeper_kerberos_principal_name>>@<<kerberos_realm>> ZOO_KERBEROS_PUBLIC_URL: <<kerberos_public_dns>> ZOO_KERBEROS_REALM: <<kerberos_realm>> volumes: - ./zookeeper.service.keytab:/sasl/zookeeper.service.keytab # 挂载本地keytab文件
启用主体名验证的ACL配置:
yamlversion: "3" services: zoo: image: cfei/zookeeper container_name: zookeeper ports: - 2181:2181 - 2888:2888 - 3888:3888 environment: ZOO_ID: 1 ZOO_PORT: 2181 ZOO_SERVERS: server.1=0.0.0.0:2888:3888,server.2=<<zookeeper2_ip>>:2888:3888,server.3=<<zookeeper3_ip>>:2888:3888 ZOO_AUTHENTICATION: KERBEROS ZOO_KERBEROS_PUBLIC_URL: <<kerberos_public_dns>> ZOO_KERBEROS_API_URL: <<kerberos_api_public_dns>>/<<get_keytab_endpoint_route>> ZOO_KERBEROS_API_USERNAME: <<kerberos_zookeeper_principal_name>> ZOO_KERBEROS_API_PASSWORD: <<kerberos_api_zookeeper_password>> ZOO_KERBEROS_REALM: <<kerberos_realm>> ZOO_REMOVE_HOST_AND_REALM: "true" # 仅使用主体名进行ACL验证
以下是 cfei/zookeeper 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。


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