From 81c1468fa42ca2c6f0ebbd97c44446528bece9a0 Mon Sep 17 00:00:00 2001 From: "Michael Vorburger.ch" Date: Tue, 23 Jul 2019 10:12:25 +0200 Subject: [PATCH] use multi-stage build in Dockerfile (fixes FINERACT-771) --- .dockerignore | 10 ++++++++++ Dockerfile | 18 ++++++++++-------- 2 files changed, 20 insertions(+), 8 deletions(-) diff --git a/.dockerignore b/.dockerignore index 01bf10a4e..ed4cfd165 100644 --- a/.dockerignore +++ b/.dockerignore @@ -17,3 +17,13 @@ # build/* .gradle/* + +# Incremental "docker build" is faster if we can modify the Dockerfile +# without "COPY ." re-transferring everything into the builder container. +Dockerfile + +# https://github.com/containers/buildah/issues/1582 +.git/* +.git/*/* +.git/*/*/* +.git/*/*/*/* diff --git a/Dockerfile b/Dockerfile index bb99767cc..43501619f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,12 +15,7 @@ # specific language governing permissions and limitations # under the License. # - -FROM bitnami/tomcat:7.0.94 as fineract - -USER root -RUN apt-get update -qq && apt-get install -y git openjdk-8-jdk wget -ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64/jre +FROM openjdk:8 AS builder RUN mkdir fineract COPY . fineract @@ -28,11 +23,18 @@ COPY . fineract WORKDIR fineract RUN sed -i 's/localhost/fineractmysql/' ./fineract-provider/src/main/resources/sql/migrations/list_db/V1__mifos-platform-shared-tenants.sql RUN ./gradlew clean war -RUN mv build/libs/fineract-provider.war /opt/bitnami/tomcat/webapps + + +FROM bitnami/tomcat:7.0.94 as fineract + +USER root +RUN apt-get update -qq && apt-get install -y git openjdk-8-jdk wget +ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64/jre + +COPY --from=builder /fineract/build/libs/fineract-provider.war /opt/bitnami/tomcat/webapps RUN keytool -genkey -keyalg RSA -alias tomcat -keystore /opt/bitnami/tomcat/tomcat.keystore -keypass xyz123 -storepass xyz123 -noprompt -dname "CN=Fineract, OU=Fineract, O=Fineract, L=Unknown, ST=Unknown, C=Unknown" COPY ./docker/server.xml /opt/bitnami/tomcat/conf RUN chmod 664 /opt/bitnami/tomcat/conf/server.xml WORKDIR /opt/bitnami/tomcat/lib RUN wget http://central.maven.org/maven2/org/drizzle/jdbc/drizzle-jdbc/1.4/drizzle-jdbc-1.4.jar -