X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=src%2Fmain%2Fdocker%2FDockerfile;h=ee39c76d6599d79432fd0df86f2e42b15ec69e38;hb=8a503123a284a9d5183a5941603a6ad88d80869d;hp=dd017920662ea967a0310b80cda93c5aabd2c54d;hpb=93f11cfd5154e754ffe5a766bfa153ba7adc13c0;p=dmaap%2Fkafka11aaf.git diff --git a/src/main/docker/Dockerfile b/src/main/docker/Dockerfile index dd01792..ee39c76 100644 --- a/src/main/docker/Dockerfile +++ b/src/main/docker/Dockerfile @@ -1,73 +1,57 @@ -######### -# ============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 +FROM openjdk:8-jre-alpine3.9 -MAINTAINER DMAAP Team - -ARG kafka_version=0.11.0.1 +ARG kafka_version=1.1.1 ARG scala_version=2.12 + +RUN apk add --update unzip wget curl jq coreutils bash + +ENV KAFKA_VERSION=$kafka_version SCALA_VERSION=$scala_version + +COPY download-kafka.sh \ + kafka_server_jaas.conf \ + org.onap.dmaap.mr.trust.jks \ + org.onap.dmaap.mr.p12 \ + org.onap.dmaap.mr.keyfile \ + cadi.properties \ + kafka11aaf-jar-with-dependencies.jar \ + dmaapMMAgent.jar \ + kafka-run-class.sh \ + /tmp/ + +COPY mmagent.config \ + consumer.properties \ + producer.properties \ + /opt/etc/ + +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_VERSION $kafka_version -ENV SCALA_VERSION $scala_version ENV KAFKA_HOME /opt/kafka ENV PATH ${PATH}:${KAFKA_HOME}/bin -COPY broker-list.sh \ - create-topics.sh \ - start-kafka.sh \ - start-kafkaOrMirrorMaker.sh \ - start-mirrormaker.sh \ - /usr/bin/ +COPY start-kafka.sh \ + broker-list.sh \ + create-topics.sh \ + start-kafkaOrMirrorMaker.sh \ + start-mirrormaker.sh \ + /usr/bin/ -COPY mmagent.config \ - consumer.properties \ - producer.properties \ - /opt/etc/ +RUN mkdir /opt/logs && \ + touch /opt/logs/mmagent.log -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/ - -RUN apk add --update bash unzip wget curl docker jq coreutils && \ - chmod a+x /usr/bin/start-kafka.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/start-kafkaOrMirrorMaker.sh && \ chmod a+x /usr/bin/start-mirrormaker.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 - + 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"] + +RUN addgroup -S -g 1000 mrkafka \ + && adduser -S -u 1000 mrkafka mrkafka \ + && chown -R mrkafka:mrkafka /opt/kafka/ /opt/logs/ /opt/etc/ /kafka/ /usr/bin/ /tmp/ -WORKDIR /usr/bin -CMD ["start-kafkaOrMirrorMaker.sh"] \ No newline at end of file +USER mrkafka