由于kafka强依赖于zookeeper,所以要先装zookeeper,两者又通过ip访问,所以先创建虚拟网络
docker network create --driver bridge --subnet 192.168.1.0/16 --gateway 192.168.1.0 mynet 解析: --driver bridge 表示使用桥接模式 --subnet 192.168.1.0/16 表示子网ip 可以分配 192.168.1.2 到 192.168.255.255 --gateway 192.168.1.0 表示网关 mynet 表示网络名
接下来安装zookeeper,给它配置固定ip 192.168.1.1
docker run -d --name zk -p 2181:2181 -v /etc/localtime:/etc/localtime --hostname zk --net mynet --ip 192.168.1.1 zookeeper
接下来跑kafka容器,给它的ip 192.168.1.2
docker run -d --name kafka -p 9092:9092 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_ConNECT=192.168.1.1:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.1.2:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 --hostname kafka --net mynet --ip 192.168.1.2 -t wurstmeister/kafka
跑起来后可以进容器用一下命令验证一下是否安装成功
#进容器 docker exec -ti kafka bash #创建主题 /opt/kafka/bin/kafka-topics.sh --zookeeper 192.168.1.1:2181 --create --topic dalianpai --partitions 2 --replication-factor 1 #查看新增的主题列表时候包含刚才创建的dalianpai /opt/kafka/bin/kafka-topics.sh --zookeeper 192.168.1.1:2181 --list
最后装一个kafka manage 进行web管理
docker run -d --name km -p 9000:9000 -e ZK_HOSTS=192.168.1.1:2181 --net mynet sheepkiller/kafka-manager
最后开浏览器通过 ip:9000进行web访问



