From 0cc81b1ef3a9381eeba16d35e9e2bc9ad997111e Mon Sep 17 00:00:00 2001 From: zhangsan <646228430@qq.com> Date: Fri, 18 Jul 2025 17:14:24 +0800 Subject: [PATCH] =?UTF-8?q?7.18=20=E5=B0=9D=E8=AF=95=E9=83=A8=E7=BD=B2-6?= =?UTF-8?q?=20=E8=A7=A3=E5=86=B3group=5Fbuy=E9=A1=B9=E7=9B=AE=E4=B8=AD?= =?UTF-8?q?=E7=9A=84api=E7=9A=84=E4=BE=9D=E8=B5=96=E6=97=A0=E6=B3=95?= =?UTF-8?q?=E5=BC=95=E5=85=A5=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pay-mall-app/Dockerfile | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/pay-mall-app/Dockerfile b/pay-mall-app/Dockerfile index db85525..35b95a0 100644 --- a/pay-mall-app/Dockerfile +++ b/pay-mall-app/Dockerfile @@ -2,10 +2,19 @@ FROM maven:3.8.7-eclipse-temurin-17-alpine AS builder WORKDIR /workspace -# 把项目级 settings.xml 复制到容器里 +# 复制项目级 settings.xml COPY .mvn/settings.xml /root/.m2/settings.xml -# 1. 先只拷贝父 POM 及各模块的 pom.xml,加速依赖下载 +# 预先把外部模块的 JAR 复制进来,并安装到本地仓库 +COPY docs/libs/group-buying-sys-api-1.0-SNAPSHOT.jar /tmp/group-buying-sys-api.jar +RUN mvn install:install-file \ + -Dfile=/tmp/group-buying-sys-api.jar \ + -DgroupId=edu.whut \ + -DartifactId=group-buying-sys-api \ + -Dversion=1.0-SNAPSHOT \ + -Dpackaging=jar + +# 1. 拷贝父 POM 及各模块的 pom.xml,加速依赖下载 COPY pom.xml ./pom.xml COPY pay-mall-api/pom.xml ./pay-mall-api/pom.xml COPY pay-mall-domain/pom.xml ./pay-mall-domain/pom.xml @@ -20,9 +29,8 @@ RUN mvn dependency:go-offline -B # 2. 拷贝所有源码 COPY . . -# 3. 只打包 main 应用模块(连带编译它依赖的模块),跳过测试,加速构建 -RUN mvn \ - -f pom.xml clean package \ +# 3. 打包 main 应用模块,跳过测试 +RUN mvn -f pom.xml clean package \ -pl pay-mall-app -am \ -DskipTests -B @@ -30,16 +38,14 @@ RUN mvn \ FROM openjdk:17-jdk-slim LABEL maintainer="smile" -# 可选:设置时区 +# 设置时区 ENV TZ=Asia/Shanghai RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone -# 把构建产物拷过来 -COPY --from=builder \ - /workspace/pay-mall-app/target/pay-mall-app.jar \ - app.jar +# 拷贝打包产物 +COPY --from=builder /workspace/pay-mall-app/target/pay-mall-app.jar app.jar -# 暴露端口,按需改 +# 暴露端口 EXPOSE 8092 ENTRYPOINT ["java", "-jar", "app.jar"]