diff --git a/kafka/docker-compose.yml b/kafka/docker-compose.yml new file mode 100644 index 0000000..22698f3 --- /dev/null +++ b/kafka/docker-compose.yml @@ -0,0 +1,56 @@ +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" + + 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 + + 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 + + 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 \ No newline at end of file