# First stage: complete build environment FROM maven:3.5.4-jdk-8-alpine AS builder COPY settings.xml /root/.m2/settings.xml # add pom.xml and source code ADD ./pom.xml pom.xml ADD ./src src/ # package jar RUN mvn -Dmaven.test.skip=true clean package #bust the cache # Second stage: minimal runtime environment From openjdk:8-jre-alpine arg port 8080 arg active test # copy jar from the first stage COPY --from=builder target/*.jar app.jar EXPOSE 8080 ENTRYPOINT [ "sh", "-c", "java -jar -XX:MaxPermSize=2048M -Dserver.port=8080 -Dspring.profiles.active=test app.jar"]