赞
踩
docker pull wurstmeister/kafka
docker pull wurstmeister/zookeeper
先启动zookeeper再启动kafka
#启动zookeeper
docker run -d --name zookeeper -p 2181:2181 -t wurstmeister/zookeeper
#启动kafka 注:此处的ip更换成自己的ip
docker run --name kafka \
-p 9092:9092 \
-e KAFKA_BROKER_ID=0 \
-e KAFKA_ZOOKEEPER_CONNECT=192.168.187.101:2181 \
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.187.101:9092 \
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 \
-d wurstmeister/kafka
#进入kafka容器内部
docker exec -it kafka /bin/sh
cd /opt/kafka_2.13-2.8.1/bin
#运行kafka生产者发送消息
./kafka-console-producer.sh --broker-list localhost:9092 --topic sun
#新开窗口,运行kafka接收消息
/opt/kafka_2.13-2.8.1/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic sun --from-beginning
#查看topic
./kafka-topics.sh --zookeeper 192.168.187.101:2181 --list
#删除topic
./kafka-topics.sh --delete --zookeeper 192.168.187.101:2181 --topic sun
ctrl+c退出生产者消费者模式,exit退出容器
新建docker-compose文件
version: '3.1' services: zookepper: image: zookeeper # 原镜像`zookeeper` hostname: "zookeeper.local" container_name: zookeeper # 容器名为'zookeeper' restart: unless-stopped # 指定容器退出后的重启策略为始终重启,但是不考虑在Docker守护进程启动时就已经停止了的容器 ports: # 映射端口 - "2181:2181" networks: # 设置网络别名 local: aliases: - "zookeeper.local" kafka: image: wurstmeister/kafka # 原镜像`wurstmeister/kafka` hostname: "kafka.local" container_name: kafka # 容器名为'kafka' restart: unless-stopped # 指定容器退出后的重启策略为始终重启,但是不考虑在Docker守护进程启动时就已经停止了的容器 environment: # 设置环境变量,相当于docker run命令中的-e KAFKA_ADVERTISED_HOST_NAME: kafka.local # 本机IP KAFKA_ADVERTISED_PORT: 9092 # 端口 KAFKA_BROKER_ID: 0 # 在kafka集群中,每个kafka都有一个BROKER_ID来区分自己 KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://todo:9092 # TODO 将kafka的地址端口注册给zookeeper KAFKA_LISTENERS: PLAINTEXT://:9092 # 配置kafka的监听端口 KAFKA_ZOOKEEPER_CONNECT: todo:2181 # TODO zookeeper地址 KAFKA_CREATE_TOPICS: "hello_world" ports: # 映射端口 - "9092:9092" networks: # 设置网络别名 local: aliases: - "kafka.local" depends_on: # 解决容器依赖启动先后问题 - zookepper # 设置网络,名为local networks: local: driver: bridge
在当前yml文件下运行 docker-compose up -d 即可
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。