容器技術的介紹#
Note 注意我們這裡所說的容器 container 是指的一種技術,而 Docker 只是容器技術的一個實現。
- 90年代的PC
- 00年代的虛擬化
- 10年代的cloud
- 11年代的container
什麼是container(容器)?#
容器是一種快速打包的技術
- 輕量化
- 標準化
- 易移植
為什麼容器技術會出現?#
容器技術出現之前:

容器技術出現之後:

容器 vs 虛擬機

Linux Container容器技術的誕生於2008年(Docker 則是2013年),解決了IT世界的"集裝箱運輸"問題。 Linux Container (簡稱LXC),是一種內核輕量級的操作系統層虛擬化技術。 Linux Container主要由 Namespace 和 Cgroups 兩大機制來保證實現。
- Namespace 命名空間主要用於資源的隔離 (誕生於2002年)
- Cgroups(Control Groups) 負責資源管理控制作用,比如進程組使用的CPU/MEM的限制,進程組的優先級控制、掛起和恢復等等(由Google貢獻,2008年合併到Linux Kernel)
容器的標準化#
在2015年,由Google、Docker、紅帽等廠商聯合發起了OCI (Open Container Initiative) 組織,致力於容器技術的標準化
容器運行時標準(runtime spec)#
規定了容器的基本操作規範,比方說如何下載鏡像、創建容器、啟動容器等等。
容器鏡像標準(image spec)#
主要是定義鏡像的基本格式。
容器的核心價值=提升效率#
- 容器能提升軟體開發效率
- 容器能加快程式編譯與建構流程
- 容器能優化測試效率
- 容器能縮短部署時間
- 容器能加速版本更新
- 容器能提升故障恢復速度
容器的快速發展普及#
Note 全球超過50%的公司將在生產環境使用container。
Docker的架構#

