我有一个在docker container
中运行的进程(docker将该进程放在cgroup btw中)。流程分叉,我想将forks
放入cgroups
。
我在程序中添加了以下代码:
cgroup_init();
struct cgroup *my_cgroup = cgroup_new_cgroup(cg_name);
cgroup_add_controller(my_cgroup, "cpu");
int cgroup_cr = cgroup_create_cgroup_from_parent(my_cgroup, 0);
cgroup_r是50007(" Cgroup,不允许操作")。我不知道为什么会这样?我需要更改一些配置吗?是否需要能力?
答案 0 :(得分:0)
我认为修改cgroups的访问权限允许进程转义docker容器,因此docker会默认禁用它。您可以通过运行容器来测试问题是否仅具有功能:
{
"code": "USER_TIMEDOUT",
"message": "User session timedout for requestUri=/services/search/Employee"
}
很可能,您需要像SYS_ADMIN这样的权限,并且能够减少仅添加到特定项目的功能。
如果添加功能无法解决您的问题,您可以删除所有限制:
docker run --cap-add=ALL ...
更多详情请见: