我最近开始学习docker,似乎大部分的繁重工作都是由linux内核完成的,使用命名空间和cgroups。
我发现一些令人困惑的事情是:
命名空间和cgroup有什么区别? 他们提出什么不同的用例?
docker工人在这上面实现了什么来获得知名度?
我想知道这些function的内部和如何实现。
这两个概念的适当联系在公元14307年已经确定:
在引擎盖下,Docker构建在以下组件之上:
Linux内核的cgroups和
namespaces
功能
附:
简而言之:
请参阅JérômePetazzoni的 “ 容器解析 :名称空间,cgroups和一些文件系统魔术 ”。
Cgroups涉及资源计量和限制:
命名空间为进程提供了自己的系统视图
多个命名空间:
cgroups限制了一个进程或一组进程可以使用这些资源的资源,可以是CPU,内存,网络I / O或对文件系统的访问,而命名空间限制进程组对系统其余部分的可见性。
请访问以获取更多详细信息Linux coreel Cgroups和命名空间如何制作现代容器