1.拉取鏡像
docker pull zookeeper
docker pull bitnami/kafka
2.創建容器,設置端口映射
# 單機啟動zookeeper
docker run --name zookeeper -p 2181:2181 -itd --restart=always --privileged=true wurstmeister/zookeeper
# 單機啟動kafka
docker run --name kafka -p 9092:9092 -itd --restart=always --privileged=true -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=127.0.0.1:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://127.0.0.1:9092 -e KAFKA_LISTENERS=PLAINTEXT://127.0.0.1:9092 wurstmeister/kafka
3.這種方式啟動的容器默認網絡模式是bridge橋接模式。這種方式,容器與容器之間不能直接通過宿主機ip加端口進行通信,所以會出現kafka連接不到zookeeper的情況,連接被拒絕。解決方式是創建kafka容器時指定 KAFKA_ZOOKEEPER_CONNECT=127.0.0.1:2181 的ip為容器ip,而不是宿主機ip,然后就可以了。或者就是用host的網絡方式,容器間就可以直接通過宿主機加端口進行通信。