summaryrefslogtreecommitdiffstats
path: root/src/main/docker/Dockerfile
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/docker/Dockerfile')
-rw-r--r--src/main/docker/Dockerfile25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/main/docker/Dockerfile b/src/main/docker/Dockerfile
new file mode 100644
index 0000000..39f997c
--- /dev/null
+++ b/src/main/docker/Dockerfile
@@ -0,0 +1,25 @@
+FROM anapsix/alpine-java
+
+ARG kafka_version=0.11.0.1
+ARG scala_version=2.12
+
+
+RUN apk add --update unzip wget curl docker jq coreutils
+
+ENV KAFKA_VERSION=$kafka_version SCALA_VERSION=$scala_version
+ADD download-kafka.sh /tmp/download-kafka.sh
+RUN chmod a+x /tmp/download-kafka.sh && sync && /tmp/download-kafka.sh && tar xfz /tmp/kafka_${SCALA_VERSION}-${KAFKA_VERSION}.tgz -C /opt && rm /tmp/kafka_${SCALA_VERSION}-${KAFKA_VERSION}.tgz && ln -s /opt/kafka_${SCALA_VERSION}-${KAFKA_VERSION} /opt/kafka
+
+VOLUME ["/kafka"]
+
+ENV KAFKA_HOME /opt/kafka
+ENV PATH ${PATH}:${KAFKA_HOME}/bin
+ADD start-kafka.sh /usr/bin/start-kafka.sh
+ADD broker-list.sh /usr/bin/broker-list.sh
+ADD create-topics.sh /usr/bin/create-topics.sh
+# The scripts need to have executable permission
+RUN chmod a+x /usr/bin/start-kafka.sh && \
+ chmod a+x /usr/bin/broker-list.sh && \
+ chmod a+x /usr/bin/create-topics.sh
+# Use "exec" form so that it runs as PID 1 (useful for graceful shutdown)
+CMD ["start-kafka.sh"]