Skip to content

Instantly share code, notes, and snippets.

@luisdiasdev
Created January 8, 2021 13:15
Show Gist options
  • Save luisdiasdev/e5ca38515f9e884ddb83e472770eb516 to your computer and use it in GitHub Desktop.
Save luisdiasdev/e5ca38515f9e884ddb83e472770eb516 to your computer and use it in GitHub Desktop.
Docker Compose with MongoDB, Zookeeper, Kafka and Kafdrop for development
version: '3'
services:
mongodb:
image: mongo:4.0.19
environment:
MONGO_INITDB_ROOT_USERNAME: mongouser
MONGO_INITDB_ROOT_PASSWORD: mongopass
ports:
- 27017:27017
volumes:
- mongo_data:/data/db
zookeeper:
image: bitnami/zookeeper:3-debian-10
ports:
- 2181:2181
volumes:
- zookeeper_data:/bitnami
environment:
- ALLOW_ANONYMOUS_LOGIN=yes
kafka:
image: bitnami/kafka:2-debian-10
ports:
- 9092:9092
- 9093:9093
volumes:
- kafka_data:/bitnami
environment:
- KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper:2181
- ALLOW_PLAINTEXT_LISTENER=yes
- KAFKA_ADVERTISED_HOST_NAME=kafka
- KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CLIENT:PLAINTEXT,EXTERNAL:PLAINTEXT
- KAFKA_CFG_LISTENERS=CLIENT://:9092,EXTERNAL://:9093
- KAFKA_CFG_ADVERTISED_LISTENERS=CLIENT://kafka:9092,EXTERNAL://localhost:9093
- KAFKA_INTER_BROKER_LISTENER_NAME=CLIENT
depends_on:
- zookeeper
kafdrop:
image: obsidiandynamics/kafdrop
ports:
- 9100:9000
environment:
- KAFKA_BROKERCONNECT=kafka:9092
- JVM_OPTS=-Xms32M -Xmx64M
depends_on:
- kafka
volumes:
zookeeper_data:
kafka_data:
mongo_data:
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment