32 lines
841 B
Docker
32 lines
841 B
Docker
|
|
# Build Stage
|
|||
|
|
FROM maven:3.9-eclipse-temurin-17 AS build
|
|||
|
|
WORKDIR /app
|
|||
|
|
|
|||
|
|
# 复制项目源码
|
|||
|
|
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"]
|
|||
|
|
|