我对遵循流程模型的组件进行了docker化。主进程本身会 fork 多次。我想在docker容器内建立一个cgroup层次结构,以基于每个进程更改CPU和内存限制。

有没有不使用'--privileged'或'CAP_SYTEM_ADMIN'的方法?

有没有一种方法可以使容器所属的cgroup成为我为流程实现的cgroup子系统的根? (在进程之间分配分配给容器的资源)。

最佳答案

我得出的结论是,目前还没有解决方案,因为Docker不支持cgroup虚拟化,Linux内核也不支持。我们需要某种形式的cgroup虚拟化,以便在容器内实现cgroup。

lxc使用称为lxcfs的基于FUSE的解决方案来做到这一点:https://linuxcontainers.org/lxcfs/introduction/

另外,有一个内核补丁程序支持cgroup命名空间,据我所知,该命名空间尚未批准:https://lwn.net/Articles/605903/

关于linux - 在Docker容器中挂载cgroup,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32534203/

10-11 17:42