webcane / readme-app

web application which holds and manages articles to read
0 stars 0 forks source link

spring boot layered docker #46

Open webcane opened 2 years ago

webcane commented 2 years ago

example


FROM gradle:7.4.2-jdk17-jammy as gradle
COPY --chown=gradle:gradle . /home/gradle/src
WORKDIR /home/gradle/src
RUN gradle clean build -x test --no-daemon

FROM eclipse-temurin:17-jdk-jammy as builder
WORKDIR build
COPY --from=gradle /home/gradle/src/build/libs/*.jar /build/backend.jar
RUN java -Djarmode=layertools -jar backend.jar extract

FROM eclipse-temurin:17-jre-jammy
EXPOSE 8080 8005
WORKDIR app
COPY --from=builder build/dependencies/ ./
COPY --from=builder build/snapshot-dependencies/ ./
COPY --from=builder build/spring-boot-loader ./
COPY etc/logback-spring.xml config/logback-spring.xml
COPY etc/application.properties config/application.properties
COPY --from=builder build/application/ ./
ENTRYPOINT ["java", "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005", "-XX:+UnlockExperimentalVMOptions", "-Djava.security.egd=file:/dev/./urandom", "org.springframework.boot.loader.JarLauncher"]