如果你使用 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://github.com/31z4/zookeeper-docker 项目构建,提供适用于ARM64架构的Apache Zookeeper服务。Zookeeper是一个分布式协调服务,常用于分布式系统中的服务注册与发现、配置管理、分布式锁等场景。本镜像支持Zookeeper 3.5的复制模式,包含默认配置与灵活的自定义配置选项。
/data(快照存储)和/datalog(事务日志存储)卷,确保数据持久化--restart always确保服务故障后自动恢复console$ docker run --name some-zookeeper --restart always -d %%IMAGE%%
由于Zookeeper采用"快速失败"机制,建议始终配置
--restart always确保服务稳定性。
console$ docker run --name some-app --link some-zookeeper:zookeeper -d application-that-uses-zookeeper
console$ docker run -it --rm --link some-zookeeper:zookeeper %%IMAGE%% zkCli.sh -server zookeeper
使用Docker Compose/Stack部署
创建stack.yml文件:
yamlversion: '3' services: zoo1: image: %%IMAGE%% restart: always hostname: zoo1 environment: ZOO_MY_ID: 1 ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=zoo3:2888:3888;2181 ports: - "2181:2181" volumes: - zoo1-data:/data - zoo1-datalog:/datalog zoo2: image: %%IMAGE%% restart: always hostname: zoo2 environment: ZOO_MY_ID: 2 ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=zoo3:2888:3888;2181 ports: - "2182:2181" volumes: - zoo2-data:/data - zoo2-datalog:/datalog zoo3: image: %%IMAGE%% restart: always hostname: zoo3 environment: ZOO_MY_ID: 3 ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=zoo3:2888:3888;2181 ports: - "2183:2181" volumes: - zoo3-data:/data - zoo3-datalog:/datalog volumes: zoo1-data: zoo1-datalog: zoo2-data: zoo2-datalog: zoo3-data: zoo3-datalog:
部署命令:
console$ docker stack deploy -c stack.yml %%REPO%% # Docker Swarm环境 # 或 $ docker-compose -f stack.yml up -d # 单机Docker Compose环境
注意:单台机器上部署多节点集群无法提供真正的冗余。若物理机故障,所有节点将同时不可用。生产环境需确保每个节点部署在独立物理机上。
Zookeeper配置文件位于/conf目录,可通过挂载卷覆盖默认配置:
console$ docker run --name some-zookeeper --restart always -d -v $(pwd)/zoo.cfg:/conf/zoo.cfg %%IMAGE%%
若未提供自定义zoo.cfg,镜像将使用默认配置,可通过以下环境变量覆盖:
ZOO_TICK_TIME
2000(毫秒)ZOO_INIT_LIMIT
5(滴答数)ZOO_SYNC_LIMIT
2(滴答数)ZOO_MAX_CLIENT_CNXNS
60ZOO_STANDALONE_ENABLED
trueZOO_ADMINSERVER_ENABLED
truestat),默认端口8080。ZOO_AUTOPURGE_PURGEINTERVAL
0(小时)ZOO_AUTOPURGE_SNAPRETAINCOUNT
3ZOO_4LW_COMMANDS_WHITELIST
srvrsrvr命令,其他命令需显式添加。对于未通过环境变量暴露的高级配置,可使用JVMFLAGS环境变量设置Java系统属性(格式:-Dproperty=value):
示例1:使用Netty作为通信框架
console$ docker run --name some-zookeeper --restart always -e JVMFLAGS="-Dzookeeper.serverCnxnFactory=org.apache.zookeeper.server.NettyServerCnxnFactory" %%IMAGE%%
示例2:设置JVM堆大小
console$ docker run --name some-zookeeper --restart always -e JVMFLAGS="-Xmx1024m" %%IMAGE%%
完整高级配置项参见 Zookeeper高级配置文档。
部署复制模式集群时,以下环境变量为必填项:
ZOO_MY_ID
/data目录已存在myid文件,此变量无效。ZOO_SERVERS
server.id=host:port:port[:role];[client port address:]client port(Zookeeper 3.5+格式)。多个节点用空格分隔。若/conf目录已存在zoo.cfg文件,此变量无效。镜像配置了以下卷用于数据持久化:
/data:存储Zookeeper内存数据库快照/datalog:存储数据库更新事务日志性能建议:事务日志需存储在专用设备上以保证性能,避免与其他繁忙设备共享。
默认情况下,Zookeeper将标准输出/错误重定向到控制台。可通过ZOO_LOG4J_PROP环境变量重定向至/logs目录下的文件:
console$ docker run --name some-zookeeper --restart always -e ZOO_LOG4J_PROP="INFO,ROLLINGFILE" %%IMAGE%%
日志将写入/logs/zookeeper.log。镜像已配置/logs卷方便日志持久化。更多日志配置参见 Zookeeper日志文档。
以下是 hivecell/zookeeper 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。


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