version: "2.2"
services:
kafka:
image: confluentinc/cp-kafka:latest
container_name: kafka
ports:
- "9092:9092"
depends_on:
- zookeeper
environment:
KAFKA_BROKER_ID: 1
KAFKA_ADVERTISED_HOST_NAME: localhost
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://localhost:9092
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
extra_hosts:
- "moby:127.0.0.1"
zookeeper:
image: confluentinc/cp-zookeeper:latest
container_name: zookeeper
ports:
- "2181:2181"
environment:
ZOOKEEPER_CLIENT_PORT: 2181
ZOOKEEPER_TICK_TIME: 2000
extra_hosts:
- "moby:127.0.0.1"
api:
build:
context: .
ports:
- 8080:8080
environment:
- MIX_ENV=dev
- DATABASE_URL=localhost:5432/zoul_development
depends_on:
- postgres
volumes:
data01:
driver: local
docker-compose up -d kafka
docker-compose exec kafka bash
/bin/kafka-topics --create --topic topic-name --bootstrap-server localhost:9092
/bin/kafka-topics --bootstrap-server=localhost:9092 --list
/bin/kafka-console-consumer --topic topic-name --from-beginning --bootstrap-server localhost:9092
/bin/kafka-console-producer --topic topic-name --bootstrap-server localhost:9092