Docker 镜像构建
本章将介绍如何使用 Dockerfile 构建自定义 Docker 镜像,包括构建流程、多阶段构建和优化技巧。
镜像构建基础
docker build 命令
构建上下文
. 表示构建上下文目录,Docker 会将该目录下的所有文件发送给 Docker Daemon。
使用 .dockerignore 排除不需要的文件:
构建实例
Node.js 应用
Python 应用
Go 应用
Java 应用
多阶段构建
多阶段构建可以显著减小最终镜像体积,将构建环境和运行环境分离:
对比效果:
镜像优化技巧
1. 选择合适的基础镜像
2. 合并 RUN 指令减少层数
3. 利用构建缓存
将变化频率低的指令放在前面:
4. 使用非 root 用户
构建缓存管理
镜像标签管理
本章小结
镜像构建是 Docker 的核心技能之一。通过合理编写 Dockerfile、使用多阶段构建和优化技巧,可以构建出体积小、安全性高、构建速度快的镜像。
关键要点:
- 使用
.dockerignore排除不必要的文件 - 多阶段构建分离构建环境和运行环境
- 选择 Alpine 或 Slim 基础镜像减小体积
- 合理利用构建缓存加速构建
- 使用非 root 用户提升安全性