在dokcer中运行kafka

run kafka on docker

最近想试试kafka,不过在docker hub 上的方法是使用docker-compose,我的本地环境中没有compose,所以我用docker最原始的方式启动了镜像,并记录了下来。

kafka分布式实现是依靠zookeeper来实现的,所以在启动kafka之前,确保你已经启动了zookeeper。

执行sudo docker images 先查看是否有有kafka 和 zookeeper的镜像,如果没有则拉取对应的镜像

sudo docker pull wurstmeister/kafka:2.11-2.0.0
sudo docker pull zookeeper:3.4
  • 配置并启动一个名为zookeeper-test的zookeeper容器:
sudo docker run -d --name zookeeper-test \
--restart always \
-p 2181:2181 \
-p 2888:2888 \
-p 3888:3888 \
zookeeper:3.4

执行以下命令应该能够看到一个名为zookeeper-test的容器正在运行

sudo docker ps
  • 配置并启动一个名为kafka-test的kafka容器:
sudo docker run -d --name kafka-test  \
-e HOST_IP=localhost \
-e KAFKA_ADVERTISED_PORT=9092 \
-e KAFKA_BROKER_ID=1 \
-e ZK=zookeeper-test \
-e KAFKA_ZOOKEEPER_CONNECT=zookeeper-test:2181 \
-e KAFKA_ADVERTISED_HOST_NAME=localhost \
-p 9092:9092 \
--link zookeeper-test:zookeeper-test \
wurstmeister/kafka:2.11-2.0.0

执行以下命令应该能够看到一个名为kafka-test的容器正在运行

sudo docker ps
  • 测试是否都已经启动好
nc -vz localhost 2181   #zookeeper Connection to localhost 2181 port [tcp/*] succeeded!
nc -vz localhost 9092   #kafka Connection to localhost 9092 port [tcp/*] succeeded!

如果显示success,类似于注释中的内容说明容器已经启动好了。

你可能感兴趣的:(在dokcer中运行kafka)