# Build Stage FROM maven:3.9-eclipse-temurin-17 AS build WORKDIR /app # 配置 Maven 使用阿里云镜像源 COPY settings.xml /usr/share/maven/conf/settings.xml # 复制项目源码 COPY . . # 执行 Maven 构建 # -B: Batch mode # clean package: 清理并打包 # -DskipTests: 跳过测试 # -Dmaven.javadoc.skip=true: 跳过 javadoc 生成 RUN mvn -B clean package -DskipTests -Dmaven.javadoc.skip=true # Run Stage FROM eclipse-temurin:17-jre WORKDIR /app # 设置时区 ENV TZ=Asia/Shanghai # 从构建阶段复制 jar 包 # 注意:根据 pom.xml 配置,viewshanghai-server 的 jar 包生成在 viewshanghai-server/target/ 目录下 COPY --from=build /app/viewshanghai-server/target/viewshanghai-server.jar app.jar # 暴露端口 (viewshanghai-server 默认端口为 48080) EXPOSE 48080 # 启动命令 ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-Duser.timezone=Asia/Shanghai", "-jar", "app.jar"]