From c33701f846adc3078e72f4bf88fba7d2c431d299 Mon Sep 17 00:00:00 2001 From: GuangrongFu Date: Tue, 24 Jul 2018 19:26:50 +0800 Subject: [PATCH] Set the base image to alpine Change-Id: I0b271754635dd0fecb5c6717eef9d56cf1bbbac0 Issue-ID: HOLMES-146 Signed-off-by: GuangrongFu --- engine-d-standalone/src/main/assembly/Dockerfile | 54 ++++++++++++++-------- .../src/main/assembly/bin/initDB.sh | 4 +- engine-d-standalone/src/main/assembly/bin/run.sh | 2 +- 3 files changed, 39 insertions(+), 21 deletions(-) diff --git a/engine-d-standalone/src/main/assembly/Dockerfile b/engine-d-standalone/src/main/assembly/Dockerfile index 082cec0..b5f1c2d 100644 --- a/engine-d-standalone/src/main/assembly/Dockerfile +++ b/engine-d-standalone/src/main/assembly/Dockerfile @@ -1,22 +1,40 @@ -FROM ubuntu:16.04 +FROM openresty/openresty:alpine MAINTAINER "Guangrong Fu" -EXPOSE 9102 +EXPOSE 9102 9202 8312 -#install openjdk-1.8 -#RUN sed -i 's#http://archive.ubuntu.com#http://mirrors.163.com#g' /etc/apt/sources.list -RUN apt-get update -RUN apt-get install -y openjdk-8-jdk wget +ENV HOSTNAME holmes-engine-mgmt -#configure the JDK -RUN sed -i 's|#networkaddress.cache.ttl=-1|networkaddress.cache.ttl=10|' /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/security/java.security -ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64 -ENV PATH $PATH:/usr/lib/jvm/java-8-openjdk-amd64/jre/bin:/usr/lib/jvm/java-8-openjdk-amd64/bin -ENV CLASSPATH .:${JAVA_HOME}/lib:${JRE_HOME}/lib -ENV JRE_HOME ${JAVA_HOME}/jre +ENV LANG C.UTF-8 -ENV HOSTNAME holmes-engine-mgmt +#install java-1.8-openjdk + +# add a simple script that can auto-detect the appropriate JAVA_HOME value +# based on whether the JDK or only the JRE is installed +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 +ENV PATH $PATH:/usr/lib/jvm/java-1.8-openjdk/jre/bin:/usr/lib/jvm/java-1.8-openjdk/bin + +ENV JAVA_ALPINE_VERSION 8.171.11-r0 + +RUN set -x \ + && apk add --no-cache \ + openjdk8="$JAVA_ALPINE_VERSION" \ + && [ "$JAVA_HOME" = "$(docker-java-home)" ] + +#install neccessary tools +RUN apk upgrade \ + && apk update \ + && apk add --no-cache curl \ + && apk add --no-cache wget \ + && apk add --no-cache postgresql-client=10.4-r0 #install ActiveMQ RUN mkdir /home/downloads @@ -26,14 +44,14 @@ RUN wget http://archive.apache.org/dist/activemq/apache-activemq/5.9.0/apache-ac RUN tar -xzvf apache-activemq-5.9.0-bin.tar.gz -C /home/activemq/ RUN rm -rf /home/downloads -#install the postgres client -RUN apt-get install -y postgresql-client-9.5 postgresql-contrib-9.5 - -#add holmes related resources to the docker image +#add the backend package to the docker image RUN mkdir /home/holmes WORKDIR /home/holmes ADD holmes-engine-d-standalone-*-linux64.tar.gz /home/holmes/ RUN chmod 755 /home/holmes/bin/*.sh +CMD ["sh", "/home/holmes/bin/run.sh"] + + + -ENTRYPOINT /home/holmes/bin/run.sh diff --git a/engine-d-standalone/src/main/assembly/bin/initDB.sh b/engine-d-standalone/src/main/assembly/bin/initDB.sh index 0c48ffa..501b90d 100644 --- a/engine-d-standalone/src/main/assembly/bin/initDB.sh +++ b/engine-d-standalone/src/main/assembly/bin/initDB.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/sh # # Copyright 2017 ZTE Corporation. # @@ -42,7 +42,7 @@ psql -U $user -p $port -h $host -d $dbname -f $main_path/dbscripts/postgresql/on psql -U $user -p $port -h $host -d $dbname --command 'select * from alarm_info;' sql_result=$? unset PGPASSWORD -cat "sql_result="$sql_result +echo "sql_result=$sql_result" if [ $sql_result != 0 ] ; then echo "Failed to initialize the database!" exit 1 diff --git a/engine-d-standalone/src/main/assembly/bin/run.sh b/engine-d-standalone/src/main/assembly/bin/run.sh index a1290af..ba11029 100644 --- a/engine-d-standalone/src/main/assembly/bin/run.sh +++ b/engine-d-standalone/src/main/assembly/bin/run.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/sh # # Copyright 2017 ZTE Corporation. -- 2.16.6