1、启动zookeeper
docker run -d --name zookeeper -p 2181:2181 -t wurstmeister/zookeeper
2、启动kafka
标红的2个ip改成宿主机ip,特别是ADVERTISED_LISTENERS属性,否则其他人无法通过宿主机:端口访问
docker run -d --name kafka -p 9092:9092 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=192.168.5.101:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.5.101:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -v /etc/localtime:/etc/localtime wurstmeister/kafka
3、查看容器是否在运行
4、内部生产消费
docker exec -it kafka bash
cd opt/kafka_2.13-2.8.1
bin/kafka-topics.sh --create --zookeeper 172.17.0.1:2181 --replication-factor 1 --partitions 1 --topic partopicbin/kafka-console-producer.sh --broker-list 172.17.0.1:9092 --topic partopic
>{"id":1,"name":"重庆阿汤哥"}
producer
consumer
bin/kafka-console-consumer.sh --bootstrap-server 172.17.0.1:9092 --topic partopic --from-beginning
5、程序验证
一定要验证,否者存在容器是在运行的,有可能kafka的外网地址无法访问。