docker-compose.yml
version: '3'
services:
zookeeper:
image: confluentinc/cp-zookeeper:latest
environment:
ZOOKEEPER_CLIENT_PORT: 2181
ZOOKEEPER_TICK_TIME: 2000
restart: unless-stopped
ports:
- "22181:2181"
kafka:
image: confluentinc/cp-kafka:latest
container_name: kafka
depends_on:
- zookeeper
restart: unless-stopped
ports:
- "9092:9092"
- "29092:29092"
environment:
KAFKA_BROKER_ID: 1
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092,PLAINTEXT_HOST://localhost:29092
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
go to the directory of file and type
docker-compose up
kafka container console
docker exec -it kafka /bin/bash
create topic
kafka-topics --create --topic myfirstTopic --partitions 1 --bootstrap-server localhost:9092
list all topics
kafka-topics --list --bootstrap-server localhost:9092
writing to topic
kafka-console-producer --broker-list localhost:9092 --topic myfirstTopic
reading wrom topic
kafka-console-consumer --bootstrap-server localhost:9092 --topic myfirstTopic --from-beginning