version: "3.8" services: # kafka kafka: image: bitnami/kafka:3.4 environment: # 启用KRaft模式 KAFKA_BROKER_ID: 1 KAFKA_ENABLE_KRAFT: yes KAFKA_CFG_PROCESS_ROLES: broker,controller KAFKA_CFG_CONTROLLER_LISTENER_NAMES: CONTROLLER #KAFKA_CFG_LISTENERS: PLAINTEXT://:9092,CONTROLLER://:9093,SASL_PLAINTEXT://:9094 #KAFKA_CFG_ADVERTISED_LISTENERS: PLAINTEXT://192.168.11.203:9092,SASL_PLAINTEXT://192.168.11.203:9094 KAFKA_CFG_LISTENERS: CONTROLLER://:9093,SASL_PLAINTEXT://:9092 KAFKA_CFG_ADVERTISED_LISTENERS: SASL_PLAINTEXT://192.168.11.203:9092 KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP: CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT,SASL_PLAINTEXT:SASL_PLAINTEXT KAFKA_CFG_INTER_BROKER_LISTENER_NAME: SASL_PLAINTEXT # 强制设置集群ID(必须唯一) KAFKA_CFG_NODE_ID: 1 KAFKA_CFG_CONTROLLER_QUORUM_VOTERS: 1@localhost:9093 KAFKA_KRAFT_CLUSTER_ID: kgvdPTwkStm6XDCOCZLi0w # SASL/PLAIN认证配置 KAFKA_CFG_SASL_ENABLED_MECHANISMS: PLAIN KAFKA_CFG_SASL_MECHANISM_INTER_BROKER_PROTOCOL: PLAIN KAFKA_CLIENT_USERS: admin KAFKA_CLIENT_PASSWORDS: kaFka_12#$56 # 其他必要参数 #ALLOW_PLAINTEXT_LISTENER: yes healthcheck: test: ["CMD", "kafka-broker-api-versions", "--bootstrap-server", "localhost:9092"] interval: 10s timeout: 2s retries: 3 volumes: # chmod -R 777 kafka_data/ - ./kafka_data:/bitnami/kafka - /var/run/docker.sock:/var/run/docker.sock ports: - 9092:9092 - 9094:9094 privileged: true networks: - network-jhs networks: network-jhs: driver: bridge