Dockerfile for Apache Kafka
The image is available directly from https://registry.hub.docker.com/
##Pre-Requisites
- install docker-compose https://docs.docker.com/compose/install/
- modify the
KAFKA_ADVERTISED_HOST_NAMEindocker-compose.ymlto match your docker host IP (Note: Do not use localhost or 127.0.0.1 as the host ip if you want to run multiple brokers.) - if you want to customise any Kafka parameters, simply add them as environment variables in
docker-compose.yml, e.g. in order to increase themessage.max.bytesparameter set the environment toKAFKA_MESSAGE_MAX_BYTES: 2000000. To turn off automatic topic creation setKAFKA_AUTO_CREATE_TOPICS_ENABLE: 'false'
##Usage
Start a cluster:
docker-compose up -d
Add more brokers:
docker-compose scale kafka=3
Destroy a cluster:
docker-compose stop
##Note
The default docker-compose.yml should be seen as a starting point. By default each broker will get a new port number and broker id on restart. Depending on your use case this might not be desirable. If you need to use specific ports and broker ids, modify the docker-compose condocker-composeuration accordingly, e.g. docker-compose-single-broker.yml:
docker-compose -f docker-compose-single-broker.yml up
##Tutorial