37 lines
1014 B
Docker
37 lines
1014 B
Docker
# Stage 1: Build
|
||
FROM maven:3.6.3-openjdk-8 AS builder
|
||
|
||
WORKDIR /build
|
||
|
||
# 复制 pom.xml 和 settings
|
||
COPY txw-mhzc/pom.xml .
|
||
COPY txw-mhzc/devops/settings-offline.xml settings.xml
|
||
|
||
# 复制子模块 pom.xml
|
||
COPY txw-mhzc/txw-mhzc-service-api/pom.xml txw-mhzc-service-api/
|
||
COPY txw-mhzc/txw-mhzc-service-biz/pom.xml txw-mhzc-service-biz/
|
||
|
||
# 复制本地 Maven 仓库(从项目根目录的共享 .m2)
|
||
COPY script/.m2/repository /root/.m2/repository
|
||
|
||
# 复制源码
|
||
COPY txw-mhzc/txw-mhzc-service-api/src txw-mhzc-service-api/src
|
||
COPY txw-mhzc/txw-mhzc-service-biz/src txw-mhzc-service-biz/src
|
||
|
||
# 构建(-am: 同时构建依赖模块)
|
||
RUN mvn clean package -pl txw-mhzc-service-biz -am -DskipTests -s settings.xml -o
|
||
|
||
# Stage 2: Package
|
||
FROM eclipse-temurin:8-jre-alpine
|
||
|
||
WORKDIR /app
|
||
|
||
# 复制构建产物
|
||
COPY --from=builder /build/txw-mhzc-service-biz/target/txw-mhzc-service-biz.jar ./app.jar
|
||
|
||
# 清理构建缓存
|
||
RUN rm -rf /root/.m2 /root/.mvn
|
||
|
||
EXPOSE 9302
|
||
|
||
ENTRYPOINT ["java", "-jar", "/app/app.jar"] |