20250706-6-Docker 快速入门(上)-镜像是什么?_笔记
一、镜像是什么
1. 一个分层存储的文件,不是一个单一的文件
- 分层结构: 与传统ISO文件不同,Docker镜像由多个文件组成,采用分层存储机制
- 存储优势: 每层可独立复用,显著减少磁盘空间占用,例如基础层可被多个镜像共享
- 物理形态: 实际表现为文件系统快照的集合,而非单一文件实体
2. 一个软件的环境
- 完整运行环境: 包含应用程序及其所有依赖(运行时环境、库文件、配置文件等)
- 打包标准: 将应用与其运行环境整体打包,确保"一次构建,处处运行"
- 环境隔离: 每个镜像提供独立的软件环境,避免依赖冲突
3. 一个镜像可以创建N个容器
- 模板机制: 类比操作系统安装镜像,单个镜像可实例化为多个独立运行的容器
- 实际案例: 如Tomcat镜像可同时创建多个容器,每个容器都是完整的Tomcat运行环境
- 资源效率: 共享镜像基础层,容器仅需存储差异层,极大提升资源利用率
4. 一种标准化的交付
- 交付变革: 从传统应用包交付转变为镜像交付,包含完整运行上下文
- 环境一致性: 解决"开发环境能跑,生产环境报错"的经典问题
- 部署简化: 镜像作为不可变单元,支持版本控制和自动化部署
5. 一个不包含Linux内核而又精简的操作系统
- 内核共享: 镜像内不含Linux内核,容器直接共享宿主机内核
- 体积优化: 剔除内核使镜像体积大幅减小,例如Alpine镜像仅5MB左右
- 系统精简: 仅包含必要系统组件,相比完整OS减少约90%无用文件
二、知识小结
知识点 | 核心内容 | 考试重点/易混淆点 | 难度系数 |
Docker镜像定义 | 由多个文件组成的分层存储结构,不同于单一ISO文件 | 镜像≠单一文件,理解分层复用机制 | ⭐⭐ |
镜像核心特性 | 包含应用程序运行环境+依赖包,是标准化交付物 | 与传统软件包交付方式的区别 | ⭐⭐ |
镜像与容器关系 | 一个镜像可创建多个容器(类似操作系统安装模板) | 容器共享宿主机内核,镜像不含Linux内核 | ⭐⭐⭐ |
镜像优势 | 分层存储减少磁盘占用,支持环境标准化交付 | 对比传统部署方式的效率提升 | ⭐⭐ |
技术限制 | 镜像不包含独立内核,依赖宿主机内核 | 与虚拟机的本质区别 | ⭐⭐⭐ |