本章小結
本章深入介紹了 Docker 的底層實現,包括命名空間、控制組和聯合檔案系統三大核心技術。
| 技術 |
作用 |
要點 |
| Namespace |
資源隔離 |
常見核心包括 PID、NET、MNT、UTS、IPC、USER、Cgroup;Time namespace 通常預設不啟用 |
| Cgroups |
資源限制 |
限制 CPU、記憶體、磁碟 I/O、程序數 |
| Union FS |
分層儲存 |
映象分層與 Copy-on-Write 是核心;Engine 29 新裝預設 containerd image store,overlay2 是經典 graph driver 場景的主要備用 |
| Namespace |
隔離內容 |
一句話說明 |
| PID |
程序 ID |
容器有自己的程序樹 |
| NET |
網路 |
容器有自己的 IP 和連接埠 |
| MNT |
檔案系統 |
容器有自己的根目錄 |
| UTS |
主機名 |
容器有自己的 hostname |
| IPC |
程序間通訊 |
容器間 IPC 隔離 |
| USER |
使用者 ID |
容器 root ≠ 宿主機 root |
| 資源 |
限制引數 |
範例 |
| 記憶體 |
-m |
-m 512m |
| CPU 核心數 |
--cpus |
--cpus=1.5 |
| CPU 繫結 |
--cpuset-cpus |
--cpuset-cpus="0,1" |
| 磁碟 I/O |
--device-write-bps |
--device-write-bps /dev/sda:10mb |
| 程序數 |
--pids-limit |
--pids-limit=100 |
延伸閱讀
📝 發現錯誤或有改進建議? 歡迎送出 Issue 或 PR。
第 106 页,共 196 页
使用 mdPress 构建