34 lines
785 B
Docker
34 lines
785 B
Docker
# 阶段 1:构建环境
|
||
FROM maven:3.8.6-openjdk-8-slim as builder
|
||
|
||
WORKDIR /app
|
||
|
||
# 先复制 pom.xml 以下载依赖,利用 Docker 缓存机制
|
||
COPY pom.xml .
|
||
RUN mvn dependency:go-offline -B
|
||
|
||
# 复制源代码并打包
|
||
COPY src ./src
|
||
RUN mvn clean package -DskipTests
|
||
|
||
# 阶段 2:运行环境
|
||
# 根据 pom.xml,项目使用的是 Java 1.8
|
||
FROM openjdk:8-jre-alpine
|
||
|
||
WORKDIR /app
|
||
|
||
# 设置时区为上海(可选,但推荐)
|
||
ENV TZ=Asia/Shanghai
|
||
RUN apk add --no-cache tzdata && \
|
||
ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && \
|
||
echo $TZ > /etc/timezone
|
||
|
||
# 从构建阶段复制打包好的 jar 包
|
||
COPY --from=builder /app/target/*.jar app.jar
|
||
|
||
# 暴露 Spring Boot 默认端口
|
||
EXPOSE 8080
|
||
|
||
# 启动参数可根据需要调整
|
||
CMD ["java", "-jar", "app.jar"]
|