c33069185e466f23126ca3d7f4c25efc447045b5
[dmaap/kafka11aaf.git] / src / main / docker / Dockerfile
1 FROM anapsix/alpine-java
2
3 ARG kafka_version=1.1.1
4 ARG scala_version=2.12
5
6
7 RUN apk add --update unzip wget curl docker jq coreutils
8
9 ENV KAFKA_VERSION=$kafka_version SCALA_VERSION=$scala_version
10 ADD download-kafka.sh /tmp/download-kafka.sh
11 ADD kafka_server_jaas.conf /tmp/kafka_server_jaas.conf
12 ADD org.onap.dmaap.mr.trust.jks /tmp/org.onap.dmaap.mr.trust.jks
13 ADD org.onap.dmaap.mr.p12 /tmp/org.onap.dmaap.mr.p12
14 ADD org.onap.dmaap.mr.keyfile /tmp/org.onap.dmaap.mr.keyfile
15 ADD cadi.properties /tmp/cadi.properties
16 ADD mmagent.config /opt/etc/mmagent.config
17 ADD consumer.properties /opt/etc/consumer.properties
18 ADD producer.properties /opt/etc/producer.properties
19 ADD kafka11aaf-jar-with-dependencies.jar /tmp/kafka11aaf-jar-with-dependencies.jar
20 ADD dmaapMMAgent.jar /tmp/dmaapMMAgent.jar
21 ADD kafka-run-class.sh /tmp/kafka-run-class.sh
22
23 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
24
25 VOLUME ["/kafka"]
26
27 ENV KAFKA_HOME /opt/kafka
28 ENV PATH ${PATH}:${KAFKA_HOME}/bin
29 ADD start-kafka.sh /usr/bin/start-kafka.sh
30 ADD broker-list.sh /usr/bin/broker-list.sh
31 ADD create-topics.sh /usr/bin/create-topics.sh
32 ADD start-kafkaOrMirrorMaker.sh /usr/bin/start-kafkaOrMirrorMaker.sh
33 ADD start-mirrormaker.sh /usr/bin/start-mirrormaker.sh
34 RUN mkdir /opt/logs
35 RUN touch /opt/logs/mmagent.log
36 # The scripts need to have executable permission
37 RUN chmod a+x /usr/bin/start-kafka.sh && \
38     chmod a+x /usr/bin/broker-list.sh && \
39     chmod a+x /usr/bin/start-kafkaOrMirrorMaker.sh && \
40     chmod a+x /usr/bin/start-mirrormaker.sh && \
41     chmod a+x /usr/bin/create-topics.sh
42 # Use "exec" form so that it runs as PID 1 (useful for graceful shutdown)
43 CMD ["start-kafkaOrMirrorMaker.sh"]
44
45 RUN addgroup -S -g 1000  mrkafka  \
46     && adduser -S  -u 1000 mrkafka  mrkafka \
47     && chown -R mrkafka:mrkafka  /opt/kafka/ /opt/logs/ /opt/etc/ /kafka/  /usr/bin/ /tmp/
48
49 USER mrkafka