Docker(六)—底层隔离技术

 

Docker隔离技术

Docker通过namespace实现了资源隔离,通过cgroups实现了资源限制,通过写时复制机制(copy-on-write)实现了高效的文件操作。

Namespace

linux内核提拱了6种Namespace隔离的系统调用,Linux Namespace是Linux提供的一种内核级别环境隔离的方法。

image

Cgroups

Linux Cgroups 的全称是 Linux Control Group。它最主要的作用,就是限制一个进程组能够使用的资源上限,包括 CPU、内存、磁盘、网络带宽等。 cgroup四个功能:

  • 资源限制:通过进程组对资源总额进行限制。
  • 优先级分配:使用硬件的权重值。当当资源发生冲突时,两个程序都需要进程读取cpu,哪个先哪个后,通过优先级来进行控制。
  • 资源统计:可以统计硬件资源的用量,记录cpu,内存等。
  • 进程控制:可以对进程组实现挂起/恢复的操作。