1、前置安装已经安装好docker
一、pull镜像
1、拉zk、kafka的镜像
docker pull wurstmeister/zookeeper
docker pull wurstmeister/kafka
二、run容器
1、run zk容器
docker run --name=zookeeper -d -e ZOOKEEPER_CLIENT_PORT=2181 -p 2181:2181 -p 2888:2888 -p 3888:3888 wurstmeister/zookeeper:latest
2、获取zk的ip
docker inspect zookeeper
2、run kafka容器
需要切换zk的ip和本地的ip
docker run -d --name kafka0 -p 9092:9092 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=xxxzk的ipxxx:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://xxx本地的ipxxx:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -t wurstmeister/kafka
docker run -d --name kafka1 -p 9093:9093 -e KAFKA_BROKER_ID=1 -e KAFKA_ZOOKEEPER_CONNECT=xxxzk的ipxxx:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://xxx本地的ipxxx:9093 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9093 -t wurstmeister/kafka
docker run -d --name kafka2 -p 9094:9094 -e KAFKA_BROKER_ID=2 -e KAFKA_ZOOKEEPER_CONNECT=xxxzk的ipxxx:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://xxx本地的ipxxx:9094 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9094 -t wurstmeister/kafka
3、查看容器
docker ps -a 查看status状态和CONTAINER ID
4、进入容器
docker exec -it CONTAINER ID /bin/bash
kafka包是在opt里面
5、执行命令时候需要加上本地的ip