From d5702124d32660573860a9520a861c7553841b9d Mon Sep 17 00:00:00 2001 From: suyiiyii Date: Sun, 25 Aug 2024 01:41:03 +0800 Subject: [PATCH] feat(build): add Dockerfile --- Dockerfile | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ pom.xml | 4 ++++ 2 files changed, 53 insertions(+) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..4f960bb --- /dev/null +++ b/Dockerfile @@ -0,0 +1,49 @@ +FROM maven:3.9-eclipse-temurin-17-alpine AS build + +WORKDIR /app + +# 给 maven 配置阿里云镜像 +RUN --mount=type=cache,target=/root/.m2 \ + mkdir -p /root/.m2 \ + && echo "\ + \ + \ + gdutnic\ + gdutnic maven\ + http://mirrors.gdut.edu.cn/nexus/repository/maven-public/\ + central\ + \ + \ + alimaven\ + central\ + aliyun maven\ + https://maven.aliyun.com/repository/public\ + \ + \ + " > /root/.m2/settings.xml + +COPY pom.xml ./pom.xml + +COPY src ./src + +RUN --mount=type=cache,target=/root/.m2 \ + mvn package -am -DskipTests + +RUN mkdir -p /layers && \ + cp /app/target/SIMS-0.0.1-SNAPSHOT.jar /layers/target.jar && \ + cd /layers && \ + java -Djarmode=layertools -jar /layers/target.jar extract + +FROM eclipse-temurin:17-jre AS runtime + +WORKDIR /app + +COPY --from=build /layers/dependencies/ . +COPY --from=build /layers/snapshot-dependencies/ . +COPY --from=build /layers/spring-boot-loader/ . +COPY --from=build /layers/application/ . + +EXPOSE 8080 + +# 执行命令 +ENTRYPOINT [ "java", "org.springframework.boot.loader.JarLauncher" ] diff --git a/pom.xml b/pom.xml index 29aef43..4374986 100644 --- a/pom.xml +++ b/pom.xml @@ -144,6 +144,10 @@ lombok + + true + +