Cgroups和docker工人 – 误解
我正在尝试了解与docker
连接的cgroups
或cgroups
docker
。
我知道cgroups
可以为特定的进程pipe理资源 – 例如我们可以将一些RAM
分配给firefox
以及CPU
上的一些策略。
但是,为什么它与集装箱( docker
)有关呢?
毕竟,我也可以使用cgroups( 以同样的方式 )没有docker。 例如,如果我在容器中启动apacher服务器而没有容器 – 在这两种情况下,我都可以控制所消耗的资源。
此外,我也可以使用连接到VirtualBox
cgroups
– 我不能魔术docker。
你能告诉我,我错了吗? 我觉得我不明白。
Docker使用CGroups,你可以手动使用CGroups,但是docker不限于CGroups的特性:
- 资源限制
- 优先级
- 会计
- 控制
Docker提供:
- 快速部署应用程序
- 跨机器的可移植性
- 版本控制和组件重用
- 轻量级的占地面积和最小的开销
- 简化的维护
- 减less使用AUFS的磁盘脚印
- 有大量预先build立的图像的大型社区。
- 安全
- …
而且这个列表可以继续,甚至没有提到手动configurationCGroups,Network命名空间,AUFS,…会花费很多的错误。