基于docker环境搭建kafka集群(单机版)

  1. 如果没有 zookeeper 镜像,则拉去zookeeper镜像
	docker pull wurstmeister/zookeeper
  1. 拉取 kafka镜像 docker pull wurstmeister/kafka
  2. 启动zookeeper镜像
	docker run -d --name zookeeper --publish 2181:2181 --volume /etc/localtime:/etc/localtime wurstmeister/zookeeper
  1. 启动kafka镜像(切记 192.168.101.139是我虚拟机ip,各位需要更换为自己的kafka镜像所在主机的ip)
	docker run -d --name kafka --publish 9092:9092 --link zookeeper --env KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 --env KAFKA_ADVERTISED_HOST_NAME=192.168.101.139 --env KAFKA_ADVERTISED_PORT=9092 --volume /etc/localtime:/etc/localtime wurstmeister/kafka
  1. 进入容器内部 docker exec -it kafka /bin/bash
  2. 测试消息发送 cd /opt/kafka_2.12-2.1.0/ 在容器命令界面(具体进入/opt/kafkaxxxx 要ls一下 查看自己拉取的哪个版本的镜像产生的容器)
  3. 创建一个主题名为netmusic:
	bin/kafka-topics.sh --create --zookeeper zookeeper:2181 --replication-factor 1 --partitions 1 --topic netmusic
  1. 运行一个生产者:
	bin/kafka-console-producer.sh --broker-list localhost:9092 --topic netmusic

9.在另一个窗口打开容器命令窗口,运行一个消费者:172.17.0.3 是 kafka容器的ip,可以通过进入kafka容器的命令窗口(docker exec -it ba2540992d9e /bin/bash),使用ifconfig查看ip

	bin/kafka-console-consumer.sh --bootstrap-server 172.17.0.3:9092 --topic netmusic
  1. 在生产者的窗口生产消息,就可以在消费者窗口消费消息看到消息。

你可能感兴趣的:(docker)