Docker image based on openjdk:8-jre-alpine
The image provides a clusterable Kafka broker.
As a minimum the following environment variables must be set:
KAFKA_ZOOKEEPER_CONNECT
docker run -d -e KAFKA_ZOOKEEPER_CONNECT=zk.zookeeper camboatdocker/alpine-kafka
(if you are looking for a clusterable Zookeeper Docker image, feel free to use digitalwonderland/zookeeper)
Configuration parameters can be provided via environment variables starting with KAFKA_
. Any matching variable will be added to Kafkas server.properties
by
- removing the
KAFKA_
prefix - transformation to lower case
- replacing any occurences of
_
with.
For example an environment variable KAFKA_NUM_PARTITIONS=3
will result in num.partitions=3
within server.properties
Any environment variable starting with KAFKA_
and ending with _COMMAND
will be first evaluated and the result saved in an environment variable without the trailing _COMMAND
For example an environment variable KAFKA_ADVERTISED_HOST_NAME_COMMAND=hostname
will export KAFKA_ADVERTISED_HOST_NAME
with the value obtained by running hostname
command inside the container
Added support to modify the following Kafka options:
- broker.id
- offsets.topic.replication.factor
- transaction.state.log.replication.factor
- transaction.state.log.min.isr