### BUILD image FROM maven:3-jdk-11 as builder #Copy Custom Maven settings #COPY settings.xml /root/.m2/ # create app folder for sources RUN mkdir -p /build WORKDIR /build COPY pom.xml /build #Copy source code COPY src /build/src # Build application RUN mvn clean install FROM openjdk:11-slim as runtime EXPOSE 8080 #Set app home folder ENV APP_HOME /app #Possibility to set JVM options (https://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html) ENV JAVA_OPTS="" #Create base app folder RUN mkdir $APP_HOME #Create folder to save configuration files RUN mkdir $APP_HOME/config #Create folder with application logs RUN mkdir $APP_HOME/log VOLUME $APP_HOME/log VOLUME $APP_HOME/config WORKDIR $APP_HOME #Copy executable jar file from the builder image COPY --from=builder /build/target/*.jar app.jar #ENTRYPOINT ["java", -jar app.jar" ] #CMD ["java","-jar","app.jar"] ENTRYPOINT [ "bash", "-c", "java -jar app.jar" ] #Second option using shell form: #ENTRYPOINT exec java $JAVA_OPTS -jar app.jar $0 $@