1. 使用官方基础镜像

✅ 优先选择官方镜像(如 nginxpython)以确保安全性和稳定性。

Dockerfile_基础镜像
🔗 [了解更多官方镜像使用技巧](/dockerfile_tips)

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"]  
Dockerfile_Multistage_Build

3. 避免不必要的依赖

🚫 清理构建缓存和未使用包,例如:

RUN apt-get update && apt-get install -y python3 && rm -rf /var/lib/apt/lists/*  
Dockerfile_依赖清理

4. 标签规范

📝 使用语义化标签(如 v1.0.0)而非 latest,例如:

LABEL maintainer="example@example.com" version="1.0.0"  
Dockerfile_标签规范

5. 最小化镜像层数

🧱 合并指令减少层数,例如:

COPY . /app && mvn package  

🔗 查看镜像分层原理详解

6. 安全最佳实践

🔒 及时更新基础镜像和软件包,避免使用 root 用户运行容器。

Dockerfile_安全实践

7. 文档与注释

📖 添加清晰注释说明关键步骤,例如:

# 构建阶段:安装依赖  
RUN apt-get update && apt-get install -y curl  

🔗 探索更多 Dockerfile 文档资源


本文内容基于 Docker 官方文档及社区实践总结,如需深入学习请访问 Docker 官方中文文档