这是本课程的第二部分:容器篇,共 8 篇,帮助大家由浅入深地认识和掌握容器。前面,我为你介绍了容器生命周期和资源管理相关的内容,让你对容器有了更加灵活的控制。之后从进程的角度带你认识了容器以及容器的两项核心技术 cgroups 和 namespace。上篇和本篇,我们进入实践环节,自己动手写容器,以便让你对容器有更加深刻的理解和认识。
在上一篇中,我们利用 namespace 和 chroot 等技术,创建出了一个隔离的环境。但是距离我们预期的“容器”形态,还差了一些。本篇,我们将继续完善它,进而达到我们的预期。
使用 cgroups 进行资源管理
在之前的内容《容器的核心:cgroups》中,我为你介绍了 Docker 如何使用 cgroups 进行资源管理,同时也大致介绍了 cgroups 相关的概念和对配置文件的解读等,但并没有介绍在脱离 Docker 时如何操作 cgroups,本篇让我们一起来探索它吧!
预装依赖
首先,我们来安装一个工具,以便于我们后续的实践:
CentOS/Fedora:
sudo yum install -y libcgroup-tools
Debian/Ubuntu:
sudo apt-get install -y cgroup-bin
其他发行版,请自行