Docker 容器化部署最佳实践
开发工具
2026年6月10日
孙八
DockerDevOps
前言
容器化部署是云原生应用的基础,良好的 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 左右。