mirror of
https://github.com/spring-projects/spring-petclinic.git
synced 2025-05-28 13:59:37 +00:00
32 lines
891 B
Docker
32 lines
891 B
Docker
FROM maven AS build
|
|
WORKDIR /app
|
|
COPY pom.xml .
|
|
COPY src ./src
|
|
RUN mvn clean package -DskipTests
|
|
|
|
RUN jar xf /app/target/spring-petclinic-3.4.0-SNAPSHOT.jar
|
|
RUN jdeps \
|
|
--ignore-missing-deps \
|
|
--print-module-deps \
|
|
--multi-release 17 \
|
|
--recursive \
|
|
--class-path 'BOOT-INF/lib/*' \
|
|
/app/target/spring-petclinic-3.4.0-SNAPSHOT.jar > modules.txt
|
|
|
|
RUN $JAVA_HOME/bin/jlink \
|
|
--add-modules $(cat modules.txt) \
|
|
--strip-debug \
|
|
--no-man-pages \
|
|
--no-header-files \
|
|
--compress=2 \
|
|
--output /javaruntime
|
|
|
|
FROM debian:buster-slim
|
|
ENV JAVA_HOME=/opt/java/openjdk
|
|
ENV PATH="${JAVA_HOME}/bin:${PATH}"
|
|
COPY --from=build /javaruntime $JAVA_HOME
|
|
|
|
WORKDIR /app
|
|
COPY --from=build /app/target/spring-petclinic-3.4.0-SNAPSHOT.jar .
|
|
CMD ["java", "-Dspring.profiles.active=postgres", "-jar", "spring-petclinic-3.4.0-SNAPSHOT.jar"]
|
|
|