1. 拉取相关docker镜像
docker pull wurstmeister/kafka:latest
docker pull wurstmeister/zookeeper:latest
2. 安装docker-compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
修改docker-compose权限
sudo chmod +x /usr/local/bin/docker-compose
3. 启动kafka的docker-compose.yaml配置文件
根据自己的机器IP修改yaml文件中的KAFKA_ADVERTISED_HOST_NAME字段值
version: '2'
services:
zookeeper:
image: wurstmeister/zookeeper
ports:
- "2181:2181"
kafka:
image: wurstmeister/kafka
depends_on: [ zookeeper ]
ports:
- "9092:9092"
environment:
KAFKA_ADVERTISED_HOST_NAME: 10.10.113.75
KAFKA_CREATE_TOPICS: "test:1:1"
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
volumes:
- /home/deep/share2/kafka/docker.sock:/var/run/docker.sock
4. 启动kafka服务
docker-compose up
5. 测试
#进入kafka容器
docker exec -it ${CONTAINER ID} /bin/bash
cd opt/bin
#单机方式:创建一个主题
bin/kafka-topics.sh --create --zookeeper zookeeper:2181 --replication-factor 1 --partitions 1 --topic mykafka
#运行一个生产者
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic mykafka
#运行一个消费者
bin/kafka-console-consumer.sh --zookeeper zookeeper:2181 --topic mykafka --from-beginning