1. 程式人生 > >第二天(2) Docker依賴的Linux核心特性

第二天(2) Docker依賴的Linux核心特性

Docker依賴的Linux核心特性

  1. Namespaces:名稱空間
  2. Control groups(cgroups)控制組

Namespaces 名稱空間的概念:

相當於程式語言: 封裝的概念到程式碼隔離的作用。

同時也相當於作業系統: 系統資源的隔離、程序、網路、檔案系統。容器會讓程式在自己這個虛擬的小環境執行不會受到其他影響。

Namespaces 名稱空間的作用:

  1. PID(process ID) 程序隔離。
  2. NET(Network) 管理網路介面。
  3. IPC(InterProcess Communication) 管理跨進 程通訊的訪問。
  4. MNT(Mount) 管理掛載點。
  5. UTS (Unix Timesharing System) 隔離核心和版本標識。

Control groups(cgroups) 控制組基本瞭解:

  1. 用來分配資源
  2. 來源於google
  3. 核心版本 linux kernel [email protected]及以上版本才出現

Control groups(cgroups) 控制組的作用

  1. 資源限制
  2. 優先順序設定
  3. 資料計量
  4. 資源控制

Docker容器的能力

  1. 檔案系統隔離: 每個容器都有自己的root檔案系統。
  2. 程序隔離: 每個容器都執行在自己的程序環境中。
  3. 網路隔離: 容器見的虛擬網路介面和IP地址都是分開的。
  4. 資源隔離和分組: 使用cgroups將CPU和記憶體之類的資源獨立分配給每個Docker 容器。