Last active
April 10, 2019 04:11
-
-
Save vanduc1102/a78ddc4b88f0bc8e07ab3637c1470841 to your computer and use it in GitHub Desktop.
Dockerfile for Java Spring boot project
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# our base build image | |
FROM maven:3.6-jdk-8-alpine as maven | |
# copy the project files | |
COPY ./pom.xml ./pom.xml | |
# build all dependencies | |
RUN mvn dependency:go-offline -B | |
# copy your other files | |
COPY ./src ./src | |
# build for release | |
RUN mvn package | |
# our final base image | |
FROM openjdk:8-jre-alpine | |
# set deployment directory | |
WORKDIR /workspace | |
# copy over the built artifact from the maven image | |
COPY --from=maven target/testing-framework-be*.jar ./app.jar | |
EXPOSE 8080 | |
CMD ["java", "-jar", "app.jar"] |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Our base build image | |
FROM maven:3-jdk-8-alpine as builder | |
LABEL maintainer DUC NGUYEN <[email protected]> | |
WORKDIR /workspace/app | |
COPY pom.xml . | |
RUN mvn dependency:go-offline -B | |
COPY src src | |
RUN mvn clean package | |
RUN mkdir -p target/dependency && (cd target/dependency; jar -xf ../*.jar) | |
# Our final base image | |
FROM openjdk:8-jre-alpine | |
ARG DEPENDENCY=/workspace/app/target/dependency | |
ARG APP_CLASS="your.package.example.Application" | |
COPY --from=builder ${DEPENDENCY}/BOOT-INF/lib /app/lib | |
COPY --from=builder ${DEPENDENCY}/META-INF /app/META-INF | |
COPY --from=builder ${DEPENDENCY}/BOOT-INF/classes /app | |
EXPOSE 8080 | |
ENTRYPOINT ["java","-cp","app:app/lib/*", ${APP_CLASS}] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
pom.xml
file , Maven will download the whole-world again :sad_dog: ( slow )