//启动zookeeper
docker run -d \
-p 2181:2181 \
--net=zoonet \
--name=zookeeper \
-e ZOOKEEPER_CLIENT_PORT=2181 \
wurstmeister/zookeeper
//启动kafka
docker run -d \
--net=zoonet \
--name kafka -p 9092:9092 \
-e KAFKA_ADVERTISED_HOST_NAME=kafka \
-e KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 \
-e KAFKA_ADVERTISED_PORT=9092 \
-e KAFKA_BROKER_ID=1 \
-e KAFKA_LISTENERS=PLAINTEXT://:9092 \
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://ip:9092 \ -- ps 这里填上宿主机器的ip
--link zookeeper wurstmeister/kafka
shell 端测试:
进入kafka容器中:docker exec -it kafka /bin/bash
进入kafka默认安装目录:cd /opt/kafka
创建一个测试topic:bin/kafka-topics.sh --create --zookeeper zookeeper:2191 --replication-factor=1 --partitions=1 --topic test
查看topic列表:bin/kafka-topics.sh --list --zookeeper zookeeper:2181
创建一个消费者:bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
此时会有一个输入的窗口
在另一个shell窗口创建一个消费者:bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
消费者会不断接受生产者那边输入的数据