services: kafka: image: apache/kafka:4.0.0 container_name: kafka-apache-kraft-410 ports: - "9092:9092" # 映射 Broker 端口 environment: # 1. 启用 KRaft 模式 KAFKA_NODE_ID: 1 KAFKA_CLUSTER_ID: 4V-T-K3dRSy_6s2d17K97Q KAFKA_PROCESS_ROLES: "broker,controller" # 2. 监听器配置 KAFKA_LISTENERS: "PLAINTEXT://:9092,CONTROLLER://:9093" KAFKA_ADVERTISED_LISTENERS: "PLAINTEXT://localhost:9092" KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: "CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT" KAFKA_CONTROLLER_LISTENER_NAMES: "CONTROLLER" # 3. Controller 连接信息(单节点) KAFKA_CONTROLLER_QUORUM_VOTERS: "1@localhost:9093" KAFKA_LOG_DIRS: "/var/lib/kafka/data" volumes: - ./kafka-data:/var/lib/kafka/data # 数据持久化 - ./log4j2.properties:/opt/kafka/config/log4j2.properties:ro # 日志级别配置 restart: always