X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=src%2Fmain%2Fdocker%2FDockerfile;h=930f5ba664233c1be2e5d773d4ccb3a320c8a0ba;hb=6345f40c1f562d5422ee45eca363a882e5c49456;hp=d5ce2405658ae11f2f9541ea31a9aee21b4c81fe;hpb=5717199158dbef060b89582f4dfd049aa6cfadc9;p=dmaap%2Fkafka11aaf.git diff --git a/src/main/docker/Dockerfile b/src/main/docker/Dockerfile index d5ce240..930f5ba 100644 --- a/src/main/docker/Dockerfile +++ b/src/main/docker/Dockerfile @@ -1,76 +1,29 @@ -FROM alpine:3.7 +FROM confluentinc/cp-kafka:6.2.0 -ENV LANG C.UTF-8 +ENV COMPONENT=kafka \ + KAFKA_USER=mrkafka \ + KAFKA_GROUP=onap -RUN echo "http://dl-cdn.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories -RUN { \ - echo '#!/bin/sh'; \ - echo 'set -e'; \ - echo; \ - echo 'dirname "$(dirname "$(readlink -f "$(which javac || which java)")")"'; \ - } > /usr/local/bin/docker-java-home \ - && chmod +x /usr/local/bin/docker-java-home -ENV JAVA_HOME /usr/lib/jvm/java-1.8-openjdk/jre -ENV PATH $PATH:/usr/lib/jvm/java-1.8-openjdk/jre/bin:/usr/lib/jvm/java-1.8-openjdk/bin - -ENV JAVA_VERSION 8u212 -ENV JAVA_ALPINE_VERSION 8.212.04-r0 - -RUN set -x \ - && apk add --no-cache \ - openjdk8-jre="$JAVA_ALPINE_VERSION" \ - && [ "$JAVA_HOME" = "$(docker-java-home)" ] - -ARG kafka_version=1.1.1 -ARG scala_version=2.12 - -RUN apk add --no-cache unzip wget docker curl jq coreutils libstdc++ ca-certificates bash java-cacerts - -ENV KAFKA_VERSION=$kafka_version SCALA_VERSION=$scala_version - -COPY download-kafka.sh \ - kafka_server_jaas.conf \ - org.onap.dmaap.mr.trust.jks \ +COPY 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/ + /etc/${COMPONENT}/secrets/cert/ -COPY mmagent.config \ - consumer.properties \ - producer.properties \ - /opt/etc/ +USER root -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 +RUN userdel -r appuser && groupadd $KAFKA_GROUP && useradd $KAFKA_USER -u 1000 -G 1000,$KAFKA_GROUP -VOLUME ["/kafka"] +WORKDIR /home/$KAFKA_USER -ENV KAFKA_HOME /opt/kafka -ENV PATH ${PATH}:${KAFKA_HOME}/bin +COPY include/etc/confluent/docker/* /etc/confluent/docker/ +RUN chmod -R +x /etc/confluent/docker \ +&& mkdir -p /etc/${COMPONENT}/data /etc/${COMPONENT}/secrets \ +&& chown -R $KAFKA_USER:$KAFKA_GROUP /var/lib/${COMPONENT} /etc/${COMPONENT} /etc/confluent/docker /var/log/${COMPONENT} /var/lib/${COMPONENT} /var/log/confluent -COPY start-kafka.sh \ - broker-list.sh \ - create-topics.sh \ - start-kafkaOrMirrorMaker.sh \ - start-mirrormaker.sh \ - /usr/bin/ +COPY kafka11aaf.jar /usr/share/java/${COMPONENT}/ -RUN mkdir /opt/logs -RUN touch /opt/logs/mmagent.log -# 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 -# Use "exec" form so that it runs as PID 1 (useful for graceful shutdown) -CMD ["start-kafkaOrMirrorMaker.sh"] +USER $KAFKA_USER -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/ +EXPOSE 9092 9093 -USER mrkafka +CMD ["/etc/confluent/docker/run"] \ No newline at end of file