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"]
|