Files
docker-compose/kafka/docker-compose.yml

82 lines
2.7 KiB
YAML

version: '3'
services:
zookeeper-1:
image: confluentinc/cp-zookeeper:latest
container_name: zookeeper-1
environment:
ZOOKEEPER_SERVER_ID: 1
ZOOKEEPER_CLIENT_PORT: 2181
ZOOKEEPER_TICK_TIME: 2000
ports:
- "22181:2181"
volumes:
- /data/kafka/zookeeper/data:/var/lib/zookeeper/data
- /data/kafka/zookeeper/log:/var/lib/zookeeper/log
broker-1:
image: confluentinc/cp-kafka:latest
container_name: broker-1
ports:
- "19092:9092"
depends_on:
- zookeeper-1
environment:
KAFKA_BROKER_ID: 1
KAFKA_AUTO_CREATE_TOPICS_ENABLE: "true"
KAFKA_ZOOKEEPER_CONNECT: 'zookeeper-1:2181'
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://broker-1:9092,PLAINTEXT_HOST://localhost:19092
KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT
volumes:
- /data/kafka/broker/01:/var/lib/kafka/data
broker-2:
image: confluentinc/cp-kafka:latest
container_name: broker-2
ports:
- "19093:9092"
depends_on:
- zookeeper-1
environment:
KAFKA_BROKER_ID: 2
KAFKA_AUTO_CREATE_TOPICS_ENABLE: "true"
KAFKA_ZOOKEEPER_CONNECT: 'zookeeper-1:2181'
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://broker-2:9093,PLAINTEXT_HOST://localhost:19093
KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT
volumes:
- /data/kafka/broker/02:/var/lib/kafka/data
broker-3:
image: confluentinc/cp-kafka:latest
container_name: broker-3
ports:
- "19094:9092"
depends_on:
- zookeeper-1
environment:
KAFKA_BROKER_ID: 3
KAFKA_AUTO_CREATE_TOPICS_ENABLE: "true"
KAFKA_ZOOKEEPER_CONNECT: 'zookeeper-1:2181'
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://broker-3:9094,PLAINTEXT_HOST://localhost:19094
KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT
volumes:
- /data/kafka/broker/03:/var/lib/kafka/data
kafka-ui:
container_name: kafka-ui
image: provectuslabs/kafka-ui:latest
ports:
- 18080:8080 # Changed to avoid port clash with akhq
depends_on:
- broker-1
- broker-2
- broker-3
environment:
KAFKA_CLUSTERS_0_NAME: local
KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS: broker-1:9092,broker-2:9093,broker-3:9094
# KAFKA_CLUSTERS_0_SCHEMAREGISTRY: http://schema-registry:8081
# KAFKA_CLUSTERS_0_KAFKACONNECT_0_NAME: connect
# KAFKA_CLUSTERS_0_KAFKACONNECT_0_ADDRESS: http://kafka-connect:8083
DYNAMIC_CONFIG_ENABLED: 'true'