第二天(2) Docker依賴的Linux核心特性
阿新 • • 發佈:2018-12-04
Docker依賴的Linux核心特性
- Namespaces:名稱空間
- Control groups(cgroups)控制組
Namespaces 名稱空間的概念:
相當於程式語言: 封裝的概念到程式碼隔離的作用。
同時也相當於作業系統: 系統資源的隔離、程序、網路、檔案系統。容器會讓程式在自己這個虛擬的小環境執行不會受到其他影響。
Namespaces 名稱空間的作用:
- PID(process ID) 程序隔離。
- NET(Network) 管理網路介面。
- IPC(InterProcess Communication) 管理跨進 程通訊的訪問。
- MNT(Mount) 管理掛載點。
- UTS (Unix Timesharing System) 隔離核心和版本標識。
Control groups(cgroups) 控制組基本瞭解:
- 用來分配資源
- 來源於google
- 核心版本 linux kernel [email protected]及以上版本才出現
Control groups(cgroups) 控制組的作用
- 資源限制
- 優先順序設定
- 資料計量
- 資源控制
Docker容器的能力
- 檔案系統隔離: 每個容器都有自己的root檔案系統。
- 程序隔離: 每個容器都執行在自己的程序環境中。
- 網路隔離: 容器見的虛擬網路介面和IP地址都是分開的。
- 資源隔離和分組: 使用cgroups將CPU和記憶體之類的資源獨立分配給每個Docker 容器。