在Docker Desktop安装zookeeper和kafka
时间: 2025-02-25 21:07:12 浏览: 55
### 准备工作
为了在 Docker Desktop 上成功安装并配置 Zookeeper 和 Kafka 集群,环境需满足一定条件。确保已安装 JDK 和 Docker 是必要的前提[^2]。
### 下载镜像
启动项目前,应拉取所需的 Docker 镜像:
```bash
docker pull wurstmeister/zookeeper
docker pull wurstmeister/kafka
```
上述命令会下载 `wurstmeister` 提供的官方 Zookeeper 和 Kafka 镜像版本。
### 创建临时容器
创建临时容器以便于将容器内部的 Zookeeper 和 Kafka 文件复制至宿主机,从而方便后续操作和挂载目录设置:
```bash
docker run -d --restart=always --log-driver json-file --log-opt max-size=100m --log-opt max-file=2 --name zookeeper -p 2181:2181 -v /etc/localtime:/etc/localtime wurstmeister/zookeeper
```
此步骤有助于解决直接挂载可能导致的问题,并确保日志管理得当。
### 编写 docker-compose.yml 文件
编写适用于 Windows 环境下的 `docker-compose.yml` 文件来定义服务。对于 Windows 用户而言,路径应当采用 Windows 的风格表示法。下面是一个简单的例子,展示了如何构建一个包含单节点 Zookeeper 及三节点 Kafka 集群的服务描述文件:
```yaml
version: '3'
services:
zookeeper:
image: wurstmeister/zookeeper
ports:
- "2181:2181"
volumes:
- type: bind
source: D:\docker\zookeeper\data
target: /var/lib/zookeeper/data
- type: bind
source: D:\docker\zookeeper\datalog
target: /var/lib/zookeeper/datalog
kafka1:
image: wurstmeister/kafka
depends_on:
- zookeeper
environment:
KAFKA_BROKER_ID: 1
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://localhost:9092
ports:
- "9092:9092"
volumes:
- type: bind
source: D:\docker\kafka\bdata1
target: /kafka/kafka-data
kafka2:
image: wurstmeister/kafka
depends_on:
- zookeeper
environment:
KAFKA_BROKER_ID: 2
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://localhost:9093
ports:
- "9093:9093"
volumes:
- type: bind
source: D:\docker\kafka\bdata2
target: /kafka/kafka-data
kafka3:
image: wurstmeister/kafka
depends_on:
- zookeeper
environment:
KAFKA_BROKER_ID: 3
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://localhost:9094
ports:
- "9094:9094"
volumes:
- type: bind
source: D:\docker\kafka\bdata3
target: /kafka/kafka-data
```
该配置文件指定了 Zookeeper 和三个 Kafka 节点之间的关系以及它们各自的端口映射、依赖项和服务间通信方式[^1]。
### 启动集群
完成以上所有准备工作之后,在保存了 `docker-compose.yml` 文件的位置打开终端窗口执行如下指令即可一键部署整个集群:
```bash
docker-compose -f D:\path_to_your_file\docker-compose.yml up -d
```
这将会依据所提供的 YAML 文件中的定义去创建或更新指定的服务实例,并将其置于后台运行模式下。
阅读全文
相关推荐














