Build a Dockerfile to run maven Spring Boot

### 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 $@

 

Về GauDev

Tôi là Gau Dev - thích viết lách, tìm hiểu công nghệ mới và không ngừng học hỏi!
Xem tất cả các bài viết của GauDev →