在/usr/local/bin目录下载docker-compose
sudo curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose
在/usr/local/bin/创建kafka文件夹,在kafka文件夹下创建docker-compose.yml文件,配置如下:
version: '2'
services:
zookeeper:
container_name: zookeeper
image: wurstmeister/zookeeper
ports:
- "2181:2181"
restart: always
kafka:
container_name: kafka
image: wurstmeister/kafka:2.12-2.3.0
ports:
- "9092:9092"
environment:
- KAFKA_ZOOKEEPER_ConNECT=内网地址:2181
- KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://182.18.0.2:9092
- KAFKA_LISTENERS=PLAINTEXT://182.18.0.2:9092
volumes:
- /var/run/docker.sock:/var/run/docker.sock
restart: always
#固定容器ip
networks:
mynetwork:
ipv4_address: 182.18.0.2
extra_hosts:
- "zookeeper:内网地址"
networks:
mynetwork:
driver: bridge
ipam:
config:
- subnet: "182.18.0.0/16"
通过docker-compose.yml启动kafka
sudo docker-compose up -d二、进入容器测试kafka
进入容器中的bin目录
sudo docker exec -it kafka /bin/bash cd /opt/kafka_2.12-2.3.0/bin
查看已存在Topic列表
kafka-topics.sh --list --zookeeper zookeeper:2181
新建Topic
kafka-topics.sh --create --zookeeper zookeeper:2181 --replication-factor 1 --partitions 1 --topic myTopic3
创建生产者
kafka-console-producer.sh --broker-list 182.18.0.2:9092 --topic myTopic3
创建消费者
kafka-console-consumer.sh --bootstrap-server 182.18.0.2:9092 --topic myTopic3



