Docker隔离技术
Docker通过namespace实现了资源隔离,通过cgroups实现了资源限制,通过写时复制机制(copy-on-write)实现了高效的文件操作。
Namespace
linux内核提拱了6种Namespace隔离的系统调用,Linux Namespace是Linux提供的一种内核级别环境隔离的方法。

Cgroups
Linux Cgroups 的全称是 Linux Control Group。它最主要的作用,就是限制一个进程组能够使用的资源上限,包括 CPU、内存、磁盘、网络带宽等。 cgroup四个功能:
- 资源限制:通过进程组对资源总额进行限制。
- 优先级分配:使用硬件的权重值。当当资源发生冲突时,两个程序都需要进程读取cpu,哪个先哪个后,通过优先级来进行控制。
- 资源统计:可以统计硬件资源的用量,记录cpu,内存等。
- 进程控制:可以对进程组实现挂起/恢复的操作。