使用docker-compose安装kafka

时间:2025-05-11 07:43:06

准备工作

需要提前安装好docker,以及docker-compose

version: '3'
services:
  zookeeper:
    image: wurstmeister/zookeeper
    container_name: zookeeper
    # always restart
    restart: always
    ports:
      - 2181:2181

  kafka:
    image: wurstmeister/kafka
    container_name: kafka
    ports:
      - 9092:9092
    # host ip
    environment:
      KAFKA_ADVERTISED_HOST_NAME: kafka
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
    # always restart
    restart: always
    volumes:
      - ./:/var/run/

其中./:/var/run/是一个很重要的参数,使得再容器内可以使用docker ps、docker port等命令,得到的结果和在宿主机上执行的是一样的。

启动服务

前台:docker-compose up
后台:docker-compose up -d

验证

  • 通过容器名称进入到kafka容器中:
docker exec -it kafka /bin/bash
  • 创建一个名称为test的topic:
 --create --topic test \
--zookeeper zookeeper:2181 --replication-factor 1 \
--partitions 1
  • 查看刚刚创建的topic信息:
 --zookeeper zookeeper:2181 \
--describe --topic test
  • 打开生产者发送若干条消息:
 --topic=test \
--broker-list kafka:9092
  • 开发消费者接收消息:
 \
--bootstrap-server kafka:9092 \
--from-beginning --topic test
  • 如果可以成功接收到消息,则说明kafka已经启动成功了,可以进行本地开发以及调试工作了。