DevCode 栈源
首页
博客
关于
写博客
编辑博客
文章标题
文章类别
选择类别...
Java 核心
Spring 生态
数据库
中间件
架构设计
开发工具
标签(按 Enter 添加)
Docker
DevOps
正文内容
## 前言 容器化部署是云原生应用的基础,良好的 Dockerfile 编写习惯至关重要。 ## 1. 多阶段构建 ```dockerfile # 构建阶段 FROM maven:3.9-eclipse-temurin-17 AS builder WORKDIR /app COPY pom.xml . RUN mvn dependency:resolve COPY src ./src RUN mvn package -DskipTests # 运行阶段 FROM eclipse-temurin:17-jre-alpine COPY --from=builder /app/target/app.jar /app/app.jar EXPOSE 8080 ENTRYPOINT ["java", "-jar", "/app/app.jar"] ``` ## 2. 镜像优化技巧 - 使用 Alpine 基础镜像 - 合并 RUN 指令减少层数 - 使用 .dockerignore 排除无关文件 ## 3. 安全加固 ```dockerfile # 使用非 root 用户运行 RUN addgroup -S appgroup && adduser -S appuser -G appgroup USER appuser ``` ## 总结 多阶段构建 + Alpine 基础镜像可将镜像体积从 800MB 缩减至 150MB 左右。
取消
保存
苏ICP备2026043658号-1