Seamher | 9f6f4f6 | 2025-06-03 14:14:07 +0800 | [diff] [blame] | 1 | # Step 1: 构建 jar |
2 | FROM maven:3.9.9-eclipse-temurin-21 AS builder | ||||
3 | |||||
4 | WORKDIR /app | ||||
5 | COPY . . | ||||
6 | RUN mvn clean package -DskipTests | ||||
7 | |||||
Seamher | 147b16c | 2025-06-03 16:53:49 +0800 | [diff] [blame] | 8 | FROM nginx:alpine |
Seamher | 9f6f4f6 | 2025-06-03 14:14:07 +0800 | [diff] [blame] | 9 | |
Seamher | 147b16c | 2025-06-03 16:53:49 +0800 | [diff] [blame] | 10 | # 创建运行目录 |
Seamher | 9f6f4f6 | 2025-06-03 14:14:07 +0800 | [diff] [blame] | 11 | WORKDIR /app |
Seamher | 147b16c | 2025-06-03 16:53:49 +0800 | [diff] [blame] | 12 | |
13 | # 拷贝 jar 到运行目录 | ||||
Seamher | 9f6f4f6 | 2025-06-03 14:14:07 +0800 | [diff] [blame] | 14 | COPY --from=builder /app/target/*.jar app.jar |
15 | |||||
Seamher | 147b16c | 2025-06-03 16:53:49 +0800 | [diff] [blame] | 16 | RUN mkdir /app/upload/ |
17 | |||||
18 | # 拷贝 Nginx 配置文件 | ||||
19 | COPY nginx.conf /etc/nginx/nginx.conf | ||||
20 | |||||
21 | # 安装 OpenJDK 运行环境 | ||||
22 | RUN apk add --no-cache openjdk21-jdk curl | ||||
23 | |||||
24 | # 后台启动 Spring Boot + 前台运行 Nginx | ||||
25 | EXPOSE 8082 | ||||
Seamher | 9f6f4f6 | 2025-06-03 14:14:07 +0800 | [diff] [blame] | 26 | EXPOSE 8080 |
Seamher | 147b16c | 2025-06-03 16:53:49 +0800 | [diff] [blame] | 27 | |
28 | CMD java -jar app.jar & nginx -g "daemon off;" |