docker-compose部署kafka 做持久化
时间: 2023-08-11 16:59:11 浏览: 207
在使用 Docker Compose 部署 Kafka 并进行持久化时,你可以参考下面的示例配置文件:
```yaml
version: '3'
services:
zookeeper:
image: confluentinc/cp-zookeeper:6.2.0
container_name: zookeeper
ports:
- 2181:2181
volumes:
- zookeeper-data:/var/lib/zookeeper/data
- zookeeper-logs:/var/lib/zookeeper/logs
kafka:
image: confluentinc/cp-kafka:6.2.0
container_name: kafka
depends_on:
- zookeeper
ports:
- 9092:9092
environment:
- KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181
- KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR=1
volumes:
- kafka-data:/var/lib/kafka/data
volumes:
zookeeper-data:
driver: local
zookeeper-logs:
driver: local
kafka-data:
driver: local
```
在这个示例中,我们使用了 Confluent Platform 的 Kafka 和 ZooKeeper 镜像。通过 `volumes` 部分,我们将 ZooKeeper 的数据目录 `/var/lib/zookeeper/data` 和日志目录 `/var/lib/zookeeper/logs` ,以及 Kafka 的数据目录 `/var/lib/kafka/data` 挂载到相应的卷中,实现数据的持久化。
在环境变量部分,我们配置了 Kafka 的连接字符串 `KAFKA_ZOOKEEPER_CONNECT` 指向 ZooKeeper 容器的地址和端口。
使用以下命令启动 Kafka:
```shell
docker-compose up -d
```
这将启动 ZooKeeper 和 Kafka 容器,并将它们绑定到主机的 2181 和 9092 端口。你可以根据需要修改端口映射。
请注意,这只是一个简单的示例配置文件,你可以根据自己的需求进行修改和扩展。此外,还可以根据需要配置其他 Kafka 和 ZooKeeper 相关的环境变量。
阅读全文