use multi-stage build in Dockerfile (fixes FINERACT-771)

This commit is contained in:
Michael Vorburger.ch
2019-07-23 10:12:25 +02:00
parent 908c5e3ad0
commit 81c1468fa4
2 changed files with 20 additions and 8 deletions
+10
View File
@@ -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/*/*/*/*
+10 -8
View File
@@ -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