docker compose部署kafka

发布于:2025-06-14 ⋅ 阅读:(14) ⋅ 点赞:(0)

使用镜像

docker pull wurstmeister/zookeeper
docker pull wurstmeister/kafka
docker pull provectuslabs/kafka-ui

因为别的地方使用了zookeerper这个名字
这里的换成了 kafka-zookeeper,官方最新版本的kafka已经把zk依赖给移除了,但是 wurstmeister/kafka构建的镜像中还是依赖的,所以这里还是需要这个镜像的

配置文件 docker-compose.yml


 version: "3"
services:
  zookeeper:
    image: wurstmeister/zookeeper
    container_name: kafka-zookeeper
    restart: always
    ports:
      - 2181:2181
    environment:
      ZOOKEEPER_CLIENT_PORT: 2181
  kafka:
    image: wurstmeister/kafka
    restart: always
    container_name: kafka
    depends_on:
      - zookeeper
    ports:
      - 9092:9092
    environment:
      KAFKA_BROKER_ID: 0
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092  # 关键修改:使用容器名称
      KAFKA_ADVERTISED_PORT: 9092
      KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092
      KAFKA_PORT: 9092 
      KAFKA_ALLOW_EVERYONE_IF_NO_ACL_FOUND: "false"
      KAFKA_ZOOKEEPER_CONNECT: kafka-zookeeper:2181
      KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
      KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: 0
      KAFKA_HEAP_OPTS: "-Xmx512M -Xmx512M"
  kafka-ui:
    image: provectuslabs/kafka-ui
    container_name: kafka-ui
    restart: always
    ports:
        - 10010:8080
    environment:
        - DYNAMIC_CONFIG_ENABLED=true
        - SERVER_SERVLET_CONTEXT_PATH=/ui-kafka
        - KAFKA_CLUSTERS_0_NAME=local
        - KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS=kafka:9092
        - KAFKA_CLUSTERS_0_PROPERTIES_SECURITY_PROTOCOL=PLAINTEXT
    depends_on:
      - zookeeper
      - kafka
 

访问地址

http://localhost:10010/ui-kafka/

在这里插入图片描述
enjoy 。