
garland/zookeeper本镜像基于jplock/docker-zookeeper项目构建,提供便捷的Apache Zookeeper分布式协调服务部署方案。Zookeeper是一个高性能的分布式协调服务,常用于分布式系统中的配置管理、命名服务、分布式锁和集群管理等场景。
通过以下命令快速启动单机版Zookeeper服务:
bashdocker run -d \ --name zookeeper \ -p 2181:2181 \ # 客户端连接端口 -p 2888:2888 \ # 集群内通信端口( follower 连接 leader ) -p 3888:3888 \ # 集群选举端口 jplock/zookeeper
| 环境变量 | 说明 | 默认值 |
|---|---|---|
ZOO_MY_ID | 集群节点ID(1-255,集群模式必填) | 1 |
ZOO_SERVERS | 集群节点列表,格式为server.id=host:port:port | server.1=localhost:2888:3888 |
ZOO_TICK_TIME | 基本时间单位(毫秒),用于心跳和超时设置 | 2000 |
ZOO_INIT_LIMIT | 集群初始化时 follower 与 leader 同步的最大时间(以 tick 为单位) | 10 |
ZOO_SYNC_LIMIT | 集群运行时 follower 与 leader 同步的最大时间(以 tick 为单位) | 5 |
创建docker-compose.yml文件,配置3节点Zookeeper集群:
yamlversion: '3' services: zk1: image: jplock/zookeeper container_name: zk1 ports: - "2181:2181" - "2888:2888" - "3888:3888" environment: ZOO_MY_ID: 1 ZOO_SERVERS: "server.1=zk1:2888:3888 server.2=zk2:2888:3888 server.3=zk3:2888:3888" volumes: - ./zk1/data:/data - ./zk1/datalog:/datalog zk2: image: jplock/zookeeper container_name: zk2 ports: - "2182:2181" - "2889:2888" - "3889:3888" environment: ZOO_MY_ID: 2 ZOO_SERVERS: "server.1=zk1:2888:3888 server.2=zk2:2888:3888 server.3=zk3:2888:3888" volumes: - ./zk2/data:/data - ./zk2/datalog:/datalog zk3: image: jplock/zookeeper container_name: zk3 ports: - "2183:2181" - "2890:2888" - "3890:3888" environment: ZOO_MY_ID: 3 ZOO_SERVERS: "server.1=zk1:2888:3888 server.2=zk2:2888:3888 server.3=zk3:2888:3888" volumes: - ./zk3/data:/data - ./zk3/datalog:/datalog
启动集群:
bashdocker-compose up -d
为避免容器重启导致数据丢失,建议挂载数据卷:
bashdocker run -d \ --name zookeeper \ -p 2181:2181 \ -v /path/to/local/data:/data \ # 持久化ZooKeeper数据 -v /path/to/local/datalog:/datalog \ # 持久化事务日志 jplock/zookeeper
通过Zookeeper客户端连接验证服务状态:
bashdocker exec -it zookeeper zkCli.sh
连接成功后可执行ls /等命令查看根节点信息。


manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务