version: '3' services: ########## Kafka ########## kafka: image: 'bitnami/kafka:latest' container_name: kafka # 容器名 hostname: kafka # 主机名 restart: unless-stopped # 容器停止时重新启动 ports: - '9092:9092' # 将 Kafka 的 9092 端口映射到主机的 9092 端口 environment: KAFKA_BROKER_ID: 1 # 设置 Kafka Broker ID 为 1 KAFKA_CFG_LISTENERS: PLAINTEXT://:9092 # Kafka 监听器配置 KAFKA_CFG_ADVERTISED_LISTENERS: PLAINTEXT://127.0.0.1:9092 # Kafka 广播监听器配置 KAFKA_CFG_ZOOKEEPER_CONNECT: 127.0.0.1:2181 # Kafka 连接 Zookeeper 的配置 ALLOW_PLAINTEXT_LISTENER: 'yes' # 允许使用明文监听器 KAFKA_LOG_RETENTION_HOURS: 120 # 日志保留时间设置为 120 小时 KAFKA_MESSAGE_MAX_BYTES: 10000000 # 消息最大字节数设置为 10000000 KAFKA_REPLICA_FETCH_MAX_BYTES: 10000000 # 复制获取最大字节数设置为 10000000 KAFKA_GROUP_MAX_SESSION_TIMEOUT_MS: 60000 # 消费者组最大会话超时时间设置为 60000 毫秒 KAFKA_NUM_PARTITIONS: 1 # 分区数量设置为 1 KAFKA_DELETE_RETENTION_MS: 1000 # 删除保留时间设置为 1000 毫秒 network_mode: 'host' # 使用主机网络模式 depends_on: - zookeeper # 依赖于 zookeeper 服务