提供Apache ZooKeeper分布式协调服务的Docker镜像,用于分布式系统中的配置管理、命名服务、同步控制及集群协调,支持容器化快速部署与集成。
收藏数: 185
下载次数: 46883383
类型:

wurstmeister/zookeeperZookeeper Docker 镜像是基于 Apache ZooKeeper 的容器化部署方案。Apache ZooKeeper 是一个分布式的、开源的协调服务,专为分布式应用提供高性能的协调服务,如命名服务、配置管理、同步控制和组服务等。
该 Docker 镜像封装了 ZooKeeper 服务,提供了简单、一致且可移植的部署方式,简化了在开发、测试和生产环境中搭建和管理 ZooKeeper 集群的过程。
bashdocker run --name zookeeper -p 2181:2181 -d zookeeper
bashdocker run --name zookeeper \ -p 2181:2181 \ -v /path/to/zoo.cfg:/conf/zoo.cfg \ -v /path/to/data:/data \ -v /path/to/datalog:/datalog \ -d zookeeper
yamlversion: '3' services: zookeeper: image: zookeeper container_name: zookeeper ports: - "2181:2181" environment: ZOO_MY_ID: 1 ZOO_SERVERS: server.1=0.0.0.0:2888:3888 volumes: - zookeeper-data:/data - zookeeper-datalog:/datalog restart: always volumes: zookeeper-data: zookeeper-datalog:
| 环境变量 | 描述 | 默认值 |
|---|---|---|
ZOO_MY_ID | 服务器ID,用于集群配置,取值范围1-255 | 1 |
ZOO_SERVERS | 集群服务器列表,格式:server.id=host:port:port | server.1=0.0.0.0:2888:3888 |
ZOO_PORT | 客户端连接端口 | 2181 |
ZOO_TICK_TIME | 基本时间单元(毫秒) | 2000 |
ZOO_INIT_LIMIT | follower 初始化连接到 leader 的最大时间(tick数) | 10 |
ZOO_SYNC_LIMIT | follower 与 leader 同步的最大时间(tick数) | 5 |
ZOO_MAX_CLIENT_CNXNS | 最大客户端连接数 | 60 |
ZOO_AUTOPURGE_PURGEINTERVAL | 自动清理事务日志和快照的时间间隔(小时),0表示禁用 | 0 |
ZOO_AUTOPURGE_RETAINCOUNT | 自动清理时保留的快照文件数 | 3 |
使用 docker-compose 配置3节点ZooKeeper集群:
yamlversion: '3' services: zk1: image: zookeeper container_name: zk1 restart: always hostname: zk1 ports: - "2181:2181" 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: zookeeper container_name: zk2 restart: always hostname: zk2 ports: - "2182:2181" 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: zookeeper container_name: zk3 restart: always hostname: zk3 ports: - "2183:2181" 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 volumes: zk1-data: zk1-datalog: zk2-data: zk2-datalog: zk3-data: zk3-datalog:
ZooKeeper 容器使用以下目录存储持久化数据:
/data: 存储快照文件/datalog: 存储事务日志建议通过 Docker 卷或绑定挂载来持久化这些目录,以防止容器重启或删除时数据丢失。
使用 ZooKeeper 客户端连接到服务:
bash# 进入容器内部使用zkCli docker exec -it zookeeper zkCli.sh -server localhost:2181 # 从宿主机或其他容器连接 docker run -it --rm --link zookeeper:zookeeper zookeeper zkCli.sh -server zookeeper:2181
ZooKeeper 提供了四字命令来检查服务状态:
bash# 检查服务状态 echo stat | nc localhost 2181 # 检查详细状态 echo mntr | nc localhost 2181 # 检查连接状态 echo ruok | nc localhost 2181
在 Docker 中配置健康检查:
yamlhealthcheck: test: ["CMD", "echo", "ruok", "|", "nc", "localhost", "2181"] interval: 30s timeout: 10s retries: 3
ZOO_MY_ID 唯一且与 ZOO_SERVERS 中配置一致ZOO_MAX_CLIENT_CNXNS 增加最大连接数datalog) 位于高性能存储上以下是 wurstmeister/zookeeper 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 版本下载页面。



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