small multi-platform image
[dmaap/kafka11aaf.git] / src / main / docker / Dockerfile
index 024d075..dd01792 100644 (file)
@@ -1,42 +1,73 @@
-FROM anapsix/alpine-java
+#########
+#  ============LICENSE_START====================================================
+#  org.onap.dmaap
+#  ===========================================================================
+#  Copyright © 2017 AT&T Intellectual Property. All rights reserved.
+#  Modifications Copyright (C) 2018 Nokia. All rights reserved.
+#  ===========================================================================
+#  Licensed under the Apache License, Version 2.0 (the "License");
+#  you may not use this file except in compliance with the License.
+#  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing, software
+#  distributed under the License is distributed on an "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#  See the License for the specific language governing permissions and
+#  limitations under the License.
+#  ============LICENSE_END====================================================
+#
+FROM openjdk:8-alpine
+
+MAINTAINER DMAAP Team
 
 ARG kafka_version=0.11.0.1
 ARG scala_version=2.12
 
+VOLUME ["/kafka"]
 
-RUN apk add --update unzip wget curl docker jq coreutils
+ENV KAFKA_VERSION $kafka_version
+ENV SCALA_VERSION $scala_version
+ENV KAFKA_HOME /opt/kafka
+ENV PATH ${PATH}:${KAFKA_HOME}/bin
 
-ENV KAFKA_VERSION=$kafka_version SCALA_VERSION=$scala_version
-ADD download-kafka.sh /tmp/download-kafka.sh
-ADD kafka_server_jaas.conf /tmp/kafka_server_jaas.conf
-ADD truststoreONAPall.jks /tmp/truststoreONAPall.jks
-ADD org.onap.dmaap.mr.p12 /tmp/org.onap.dmaap.mr.p12
-ADD keyfilenew /tmp/keyfilenew
-ADD cadi.properties /tmp/cadi.properties
-ADD mmagent.config /opt/etc/mmagent.config
-ADD consumer.properties /opt/etc/consumer.properties
-ADD producer.properties /opt/etc/producer.properties
-ADD kafka11aaf-jar-with-dependencies.jar /tmp/kafka11aaf-jar-with-dependencies.jar
-ADD dmaapMMAgent.jar /tmp/dmaapMMAgent.jar
+COPY broker-list.sh \
+    create-topics.sh \
+    start-kafka.sh \
+    start-kafkaOrMirrorMaker.sh \
+    start-mirrormaker.sh \
+    /usr/bin/ 
 
-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
+COPY mmagent.config \
+    consumer.properties \
+    producer.properties \
+    /opt/etc/
 
-VOLUME ["/kafka"]
+COPY cadi.properties \
+    download-kafka.sh \
+    kafka_server_jaas.conf \
+    kafka-run-class.sh \
+    keyfilenew \
+    org.onap.dmaap.mr.p12 \
+    truststoreONAPall.jks \
+    kafka11aaf-jar-with-dependencies.jar \
+    dmaapMMAgent.jar \
+    /tmp/
 
-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
-ADD start-kafkaOrMirrorMaker.sh /usr/bin/start-kafkaOrMirrorMaker.sh
-ADD start-mirrormaker.sh /usr/bin/start-mirrormaker.sh
-ADD kafka-run-class.sh ${KAFKA_HOME}/bin/kafka-run-class.sh
-# The scripts need to have executable permission
-RUN chmod a+x /usr/bin/start-kafka.sh && \
+RUN apk add --update bash unzip wget curl docker jq coreutils && \
+    chmod a+x /usr/bin/start-kafka.sh && \
     chmod a+x /usr/bin/broker-list.sh && \
     chmod a+x /usr/bin/start-kafkaOrMirrorMaker.sh && \
     chmod a+x /usr/bin/start-mirrormaker.sh && \
-    chmod a+x ${KAFKA_HOME}/bin/kafka-run-class.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-kafkaOrMirrorMaker.sh"]
+    chmod a+x /usr/bin/create-topics.sh && \
+    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
+    
+
+WORKDIR /usr/bin
+CMD ["start-kafkaOrMirrorMaker.sh"]
\ No newline at end of file