如何在docker-compose.yml中创建kafka群集和主题

如何在docker-compose.yml中创建kafka群集和主题,docker,apache-kafka,docker-compose,Docker,Apache Kafka,Docker Compose,我是新来的码头工人。我希望将kafka容器化,并向其中添加一个集群,比如说MyCluster,然后在kafka服务器启动后立即向集群添加4个主题,例如topic_a、topic_b、topic_c和topic_d。能给我解释一下怎么做吗?我尝试了下面的docker-compose.yml,我能够启动容器化的kafka服务器和kafka管理器,但我无法以编程方式创建集群/主题。请帮忙 version: "2" services: kafkaserver: imag

我是新来的码头工人。我希望将kafka容器化,并向其中添加一个集群,比如说MyCluster,然后在kafka服务器启动后立即向集群添加4个主题,例如topic_a、topic_b、topic_c和topic_d。能给我解释一下怎么做吗?我尝试了下面的docker-compose.yml,我能够启动容器化的kafka服务器和kafka管理器,但我无法以编程方式创建集群/主题。请帮忙

version: "2"

services:
  kafkaserver:
    image: "spotify/kafka:latest"
    container_name: kafka
    hostname: kafkaserver
    networks:
      - kafkanet
    ports:
      - 2181:2181
      - 9092:9092
    environment:
      ADVERTISED_HOST: kafkaserver
      ADVERTISED_PORT: 9092
    command:
      /opt/kafka_2.11-0.10.1.0/bin/kafka-topics.sh --create --zookeeper kafkaserver:2181 --replication-factor 1 --partitions 1 --topic topic_a
      /opt/kafka_2.11-0.10.1.0/bin/kafka-topics.sh --create --zookeeper kafkaserver:2181 --replication-factor 1 --partitions 1 --topic topic_b
      /opt/kafka_2.11-0.10.1.0/bin/kafka-topics.sh --create --zookeeper kafkaserver:2181 --replication-factor 1 --partitions 1 --topic topic_c
      /opt/kafka_2.11-0.10.1.0/bin/kafka-topics.sh --create --zookeeper kafkaserver:2181 --replication-factor 1 --partitions 1 --topic topic_d

  kafka_manager:
    image: "mzagar/kafka-manager-docker:1.3.3.4"
    container_name: kafkamanager
    networks:
      - kafkanet
    ports:
      - 9000:9000
    links:
      - kafkaserver
    environment:
      ZK_HOSTS: "kafkaserver:2181"

networks:
  kafkanet:
    driver: bridge

我正在docker compose文件中使用此配置。整个文件可以在这里找到


spotify的形象已经多年没有得到维护了。也许我不想用我的菲利佩,非常感谢你的回复。在我修改docker-compose.yml使用KAFKA_CREATE_TOPICS后,它的效果非常好:“topic_a:1:1,topic_b:1:1,topic_c:1:1,topic_d:1:1”。很好;)我很高兴它成功了。请记住,要让卡夫卡在Docker或Kubernetes中开箱即用是非常困难的。这就是为什么还有很多其他的项目为我们实现它。像斯特里姆齐、合流、伍斯特迈斯特等。。。。使用它们。请考虑接受我的回答:
  zookeeper:
    image: wurstmeister/zookeeper:3.4.6
    restart: always
  kafka:
    image: wurstmeister/kafka:2.12-2.2.1
    environment:
      KAFKA_ADVERTISED_LISTENERS: INSIDE://:9092,OUTSIDE://:9094
      KAFKA_LISTENERS: INSIDE://:9092,OUTSIDE://:9094
      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: INSIDE:PLAINTEXT,OUTSIDE:PLAINTEXT
      KAFKA_INTER_BROKER_LISTENER_NAME: INSIDE
      KAFKA_CREATE_TOPICS: "input:2:1, output:2:1"
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
    ports:
      - 9094:9094
    restart: always