一、鏡像是什么
1. 一個分層存儲的文件,不是一個單一的文件
- 分層結構: 與傳統ISO文件不同,Docker鏡像由多個文件組成,采用分層存儲機制
- 存儲優勢: 每層可獨立復用,顯著減少磁盤空間占用,例如基礎層可被多個鏡像共享
- 物理形態: 實際表現為文件系統快照的集合,而非單一文件實體
2. 一個軟件的環境
- 完整運行環境: 包含應用程序及其所有依賴(運行時環境、庫文件、配置文件等)
- 打包標準: 將應用與其運行環境整體打包,確保"一次構建,處處運行"
- 環境隔離: 每個鏡像提供獨立的軟件環境,避免依賴沖突
3. 一個鏡像可以創建N個容器
- 模板機制: 類比操作系統安裝鏡像,單個鏡像可實例化為多個獨立運行的容器
- 實際案例: 如Tomcat鏡像可同時創建多個容器,每個容器都是完整的Tomcat運行環境
- 資源效率: 共享鏡像基礎層,容器僅需存儲差異層,極大提升資源利用率
4. 一種標準化的交付
- 交付變革: 從傳統應用包交付轉變為鏡像交付,包含完整運行上下文
- 環境一致性: 解決"開發環境能跑,生產環境報錯"的經典問題
- 部署簡化: 鏡像作為不可變單元,支持版本控制和自動化部署
5. 一個不包含Linux內核而又精簡的操作系統
- 內核共享: 鏡像內不含Linux內核,容器直接共享宿主機內核
- 體積優化: 剔除內核使鏡像體積大幅減小,例如Alpine鏡像僅5MB左右
- 系統精簡: 僅包含必要系統組件,相比完整OS減少約90%無用文件
二、知識小結
知識點 | 核心內容 | 考試重點/易混淆點 | 難度系數 |
Docker鏡像定義 | 由多個文件組成的分層存儲結構,不同于單一ISO文件 | 鏡像≠單一文件,理解分層復用機制 | ?? |
鏡像核心特性 | 包含應用程序運行環境+依賴包,是標準化交付物 | 與傳統軟件包交付方式的區別 | ?? |
鏡像與容器關系 | 一個鏡像可創建多個容器(類似操作系統安裝模板) | 容器共享宿主機內核,鏡像不含Linux內核 | ??? |
鏡像優勢 | 分層存儲減少磁盤占用,支持環境標準化交付 | 對比傳統部署方式的效率提升 | ?? |
技術限制 | 鏡像不包含獨立內核,依賴宿主機內核 | 與虛擬機的本質區別 | ??? |