Skip to main content

Docker confluentinc

docker-compose.yaml

version: '3'
services:
zookeeper-1:
image: confluentinc/cp-zookeeper:latest
container_name: zookeeper-1
environment:
ZOOKEEPER_CLIENT_PORT: 2181
broker-1:
image: confluentinc/cp-kafka:latest
container_name: broker-1
ports:
- "8097:8097"
depends_on:
- zookeeper-1
environment:
KAFKA_BROKER_ID: 1
KAFKA_ZOOKEEPER_CONNECT: zookeeper-1:2181
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: EXTERNAL:PLAINTEXT,INTERNAL:PLAINTEXT
KAFKA_ADVERTISED_LISTENERS: EXTERNAL://localhost:8097,INTERNAL://broker-1:9092
KAFKA_INTER_BROKER_LISTENER_NAME: INTERNAL
broker-2:
image: confluentinc/cp-kafka:latest
container_name: broker-2
ports:
- "8098:8098"
depends_on:
- zookeeper-1
environment:
KAFKA_BROKER_ID: 2
KAFKA_ZOOKEEPER_CONNECT: zookeeper-1:2181
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: EXTERNAL:PLAINTEXT,INTERNAL:PLAINTEXT
KAFKA_ADVERTISED_LISTENERS: EXTERNAL://localhost:8098,INTERNAL://broker-2:9092
KAFKA_INTER_BROKER_LISTENER_NAME: INTERNAL
broker-3:
image: confluentinc/cp-kafka:latest
container_name: broker-3
ports:
- "8099:8099"
depends_on:
- zookeeper-1
environment:
KAFKA_BROKER_ID: 3
KAFKA_ZOOKEEPER_CONNECT: zookeeper-1:2181
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: EXTERNAL:PLAINTEXT,INTERNAL:PLAINTEXT
KAFKA_ADVERTISED_LISTENERS: EXTERNAL://localhost:8099,INTERNAL://broker-3:9092
KAFKA_INTER_BROKER_LISTENER_NAME: INTERNAL

Verify Active Kafka Brokers Using zookeeper-shell

docker exec -it zookeeper-1 /bin/zookeeper-shell localhost:2181