ZooKeeper 是为 Kafka 提供协调服务的工具,所以得启动一个ZooKeeper 容器。
配置文件 docker-compose.yml
version: "2"
services:
zookeeper:
image: docker.io/bitnami/zookeeper:3.8
ports:
- "2181:2181"
volumes:
- "zookeeper_data:/bitnami"
environment:
- ALLOW_ANONYMOUS_LOGIN=yes
kafka:
image: docker.io/bitnami/kafka:3.1
ports:
- "9092:9092"
volumes:
- "kafka_data:/bitnami"
environment:
- KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper:2181
- ALLOW_PLAINTEXT_LISTENER=yes
depends_on:
- zookeeper
volumes:
zookeeper_data:
driver: local
kafka_data:
driver: local
运行命令启动容器
$ docker-compose docker-compose.yml
docker ps 查看是否启动成功,kafka默认的端口是9092。
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7dadaaebd712 bitnami/kafka:3.1 "/opt/bitnami/script…" 10 days ago Up 10 days 0.0.0.0:9092->9092/tcp kafka_kafka_1
0dcaff46e594 bitnami/zookeeper:3.8 "/opt/bitnami/script…" 10 days ago Up 10 days 2888/tcp, 3888/tcp, 0.0.0.0:2181->2181/tcp, 8080/tcp kafka_zookeeper_1