version: '3.2' services: kafka-1: image: confluentinc/cp-kafka:7.2.2 ports: - 9081:9081 volumes: - ./kafka-1.properties:/etc/kafka/kafka.properties:ro - ./run.sh:/etc/confluent/docker/run:ro - data-1:/var/lib/data/kafka kafka-2: image: confluentinc/cp-kafka:7.2.2 ports: - 9092:9082 - 9082:9082 networks: default: aliases: - kafka volumes: - ./kafka-2.properties:/etc/kafka/kafka.properties:ro - ./run.sh:/etc/confluent/docker/run:ro - data-2:/var/lib/data/kafka kafka-3: image: confluentinc/cp-kafka:7.2.2 ports: - 9083:9083 volumes: - ./kafka-3.properties:/etc/kafka/kafka.properties:ro - ./run.sh:/etc/confluent/docker/run:ro - data-3:/var/lib/data/kafka setup: image: juplo/toolbox command: > bash -c " kafka-topics --bootstrap-server kafka:9092 --delete --if-exists --topic test kafka-topics --bootstrap-server kafka:9092 --create --topic test --partitions 2 --replication-factor 3 --config min.insync.replicas=2 kafka-topics --bootstrap-server kafka:9092 --describe --topic test " cli: image: juplo/toolbox command: sleep infinity producer: image: juplo/simple-producer:1.0-SNAPSHOT command: producer consumer-1: image: juplo/simple-consumer:1.0-SNAPSHOT command: kafka:9092 test my-group consumer-1 consumer-2: image: juplo/simple-consumer:1.0-SNAPSHOT command: kafka:9092 test my-group consumer-2 consumer-3: image: juplo/simple-consumer:1.0-SNAPSHOT command: kafka:9092 test my-group consumer-3 spikzettel: image: juplo/toolbox command: > bash -c ' kafka-console-consumer \ --bootstrap-server kafka:9092 \ --topic __consumer_offsets --from-beginning \ --formatter "kafka.coordinator.group.GroupMetadataManager\$$OffsetsMessageFormatter" ' volumes: data-1: data-2: data-3: