Docker 分阶段构建 Spring Boot 容器镜像

Docker Spring Boot Java About 794 words

Dockerfile

如果是JDK 25则使用maven:3.9-eclipse-temurin-25即可。

# ---------- 构建阶段 ----------
FROM maven:3.9-eclipse-temurin-21 AS build
WORKDIR /app

# 先只复制 pom.xml 下载依赖:pom 不变时这一层会走缓存,构建更快
COPY pom.xml .
RUN mvn -B -q dependency:go-offline

COPY src ./src
RUN mvn -B -q package -DskipTests

# ---------- 运行阶段 ----------
FROM eclipse-temurin:21-jre
WORKDIR /app

# 不用 root 运行
RUN useradd -r -u 1001 spring
USER spring

COPY --from=build /app/target/*.jar app.jar

EXPOSE 8080
ENV JAVA_TOOL_OPTIONS="-XX:MaxRAMPercentage=75"
ENTRYPOINT ["java", "-jar", "app.jar"]

.dockerignore

target/
.git/
.idea/
.vscode/
*.iml

429 Too Many Request 错误

如果构建出现429错误时,需要换镜像源,以AWS为例,可以换为:

FROM public.ecr.aws/docker/library/maven:3.9-eclipse-temurin-25 AS build

FROM public.ecr.aws/docker/library/eclipse-temurin:25-jre
Views: 4 · Posted: 2026-11-04

———         Thanks for Reading         ———

Give me a Star, Thanks:)

https://github.com/fendoudebb/LiteNote

扫描下方二维码关注公众号和小程序↓↓↓

扫描下方二维码关注公众号和小程序↓↓↓
Prev Post
Today In History
Browsing Refresh