為了更好地理解容器的特性,本節(jié)我們將討論容器的底層實現(xiàn)技術。
cgroup 和 namespace 是最重要的兩種技術。cgroup 實現(xiàn)資源限額, namespace 實現(xiàn)資源隔離。
cgroup
cgroup 全稱 Control Group。Linux 操作系統(tǒng)通過 cgroup 可以設置進程使用 CPU、內(nèi)存 和 IO 資源的限額。相信你已經(jīng)猜到了:前面我們看到的--cpu-shares
、-m
、--device-write-bps
實際上就是在配置 cgroup。
cgroup 到底長什么樣子呢?我們可以在 /sys/fs/cgroup 中找到它。還是用例子來說明,啟動一個容器,設置 --cpu-shares=512
: