X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=src%2Fmain%2Fdocker%2FDockerfile;h=e3becb86adf5a063cdd47128fafdc2505a77a973;hb=47cf048f30abd3bdd675f1398f88c370f90c5943;hp=568b10d4b76fe90d965f06829e933fcd275f8771;hpb=5d5e572ec3c0354d326c6c03f80cd0b6fc2216b8;p=dmaap%2Fkafka11aaf.git diff --git a/src/main/docker/Dockerfile b/src/main/docker/Dockerfile index 568b10d..e3becb8 100644 --- a/src/main/docker/Dockerfile +++ b/src/main/docker/Dockerfile @@ -1,48 +1,42 @@ -FROM anapsix/alpine-java - -ARG kafka_version=1.1.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 -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 -ADD kafka-run-class.sh /tmp/kafka-run-class.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 -ADD start-kafkaOrMirrorMaker.sh /usr/bin/start-kafkaOrMirrorMaker.sh -ADD start-mirrormaker.sh /usr/bin/start-mirrormaker.sh -RUN mkdir /opt/logs -# 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"] - -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/ - -USER mrkafka +FROM confluentinc/cp-base:5.3.1 + +# allow arg override of required env params +ARG KAFKA_ZOOKEEPER_CONNECT +ENV KAFKA_ZOOKEEPER_CONNECT=${KAFKA_ZOOKEEPER_CONNECT} +ARG KAFKA_ADVERTISED_LISTENERS +ENV KAFKA_ADVERTISED_LISTENERS=${KAFKA_ADVERTISED_LISTENERS} + +ENV COMPONENT=kafka \ + KAFKA_USER=mrkafka + +RUN echo "===> installing ${COMPONENT}..." \ + && wget -qO - http://packages.confluent.io/deb/3.0/archive.key | apt-key add - \ + && echo "deb [arch=amd64] http://packages.confluent.io/deb/3.0 stable main" | tee -a /etc/apt/sources.list \ + && apt-key update && apt-get update && apt-get install -y confluent-kafka-2.11 --force-yes \ + \ + && echo "===> clean up ..." \ + && apt-get autoremove -y && apt-get clean && rm -rf /tmp/* /var/lib/apt/lists/* \ + \ + && echo "===> Setting up ${COMPONENT} dirs..." \ + && mkdir -p /var/lib/${COMPONENT}/data /etc/${COMPONENT}/secrets/cert /etc/${COMPONENT}/secrets/jaas /etc/${COMPONENT}/data /var/log/kafka /var/log/confluent \ + && chmod -R ag+w /etc/${COMPONENT} /var/lib/${COMPONENT}/data /etc/${COMPONENT}/secrets /etc/${COMPONENT}/data /var/log/kafka /var/log/confluent \ + && chown -R root:root /var/log/kafka /var/log/confluent /var/lib/kafka /var/lib/zookeeper + +COPY include/etc/confluent/docker /etc/confluent/docker +RUN chmod -R +x /etc/confluent/docker + +COPY org.onap.dmaap.mr.trust.jks \ + org.onap.dmaap.mr.p12 \ + org.onap.dmaap.mr.keyfile \ + /etc/${COMPONENT}/secrets/cert/ + +COPY kafka11aaf-jar-with-dependencies.jar /usr/share/java/${COMPONENT}/ + + +RUN useradd -u 1000 -g 0 $KAFKA_USER + +USER $KAFKA_USER + +EXPOSE 9092 9093 + +CMD ["/etc/confluent/docker/run"] \ No newline at end of file