- 创建 docker-compose.yml
- 启动服务
- 创建 Topic
- 向 quickstart 中写入数据
- 消费 quickstart 中的数据
- 关闭 Kafka
- 总结
- 参考资料
---
version: '3'
services:
zookeeper:
image: confluentinc/cp-zookeeper:7.0.1
container_name: zookeeper
environment:
ZOOKEEPER_CLIENT_PORT: 2181
ZOOKEEPER_TICK_TIME: 2000
broker:
image: confluentinc/cp-kafka:7.0.1
container_name: broker
ports:
# To learn about configuring Kafka for access across networks see
# https://www.confluent.io/blog/kafka-client-cannot-connect-to-broker-on-aws-on-docker-etc/
- "9092:9092"
depends_on:
- zookeeper
environment:
KAFKA_BROKER_ID: 1
KAFKA_ZOOKEEPER_CONNECT: 'zookeeper:2181'
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_INTERNAL:PLAINTEXT
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://localhost:9092,PLAINTEXT_INTERNAL://broker:29092
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1
KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1
启动服务
找到包含 docker-compose.yml 的目录。
quintin at 192 in ~/Downloads/dockerKafka $ pwd /Users/quintin/Downloads/dockerKafka
quintin at 192 in ~/Downloads/dockerKafka $ ls docker-compose.yml
运行以下命令:
docker-compose up -d
运行成功的界面如下所示:
创建一个名为 quickstart 的 topic。
quintin at 192 in ~/Downloads/dockerKafka
$ docker exec broker
kafka-topics --bootstrap-server broker:9092
--create
--topic quickstart
Created topic quickstart.
向 quickstart 中写入数据
quintin at 192 in ~/Downloads/dockerKafka
$ docker exec --interactive --tty broker
kafka-console-producer --bootstrap-server broker:9092
--topic quickstart
>hello world! -quentin
>:-D
>^C%
以 command + C 结束输入。
消费 quickstart 中的数据quintin at 192 in ~/Downloads/dockerKafka
$ docker exec --interactive --tty broker
kafka-console-consumer --bootstrap-server broker:9092
--topic quickstart
--from-beginning
hello world! -quentin
:-D
^CProcessed a total of 2 messages
同样是使用 command + C 退出。
关闭 Kafkaquintin at 192 in ~/Downloads/dockerKafka $ docker-compose down Stopping broker ... done Stopping zookeeper ... done Removing broker ... done Removing zookeeper ... done Removing network dockerkafka_default总结 参考资料
https://developer.confluent.io/quickstart/kafka-docker/



