1. 使用官方基础镜像
✅ 优先选择官方镜像(如 nginx
、python
)以确保安全性和稳定性。
2. 多阶段构建优化体积
📦 通过多阶段构建(Multistage Build)减少最终镜像大小,例如:
FROM maven:3.8.6 AS build
COPY . /app
RUN mvn package
FROM openjdk:17
COPY --from=build /app/target/myapp.jar /app.jar
CMD ["java", "-jar", "/app.jar"]
3. 避免不必要的依赖
🚫 清理构建缓存和未使用包,例如:
RUN apt-get update && apt-get install -y python3 && rm -rf /var/lib/apt/lists/*
4. 标签规范
📝 使用语义化标签(如 v1.0.0
)而非 latest
,例如:
LABEL maintainer="example@example.com" version="1.0.0"
5. 最小化镜像层数
🧱 合并指令减少层数,例如:
COPY . /app && mvn package
6. 安全最佳实践
🔒 及时更新基础镜像和软件包,避免使用 root
用户运行容器。
7. 文档与注释
📖 添加清晰注释说明关键步骤,例如:
# 构建阶段:安装依赖
RUN apt-get update && apt-get install -y curl
本文内容基于 Docker 官方文档及社区实践总结,如需深入学习请访问 Docker 官方中文文档