我怎样才能设置docker过程的负面的好处?
我有一个docker的图像,我通过在容器中运行bash使用代码的testenvironment:
me@host$ docker run -ti myimage bash
在容器内部,我通常会说一个程序
root@docker# ./myprogram
但是,我希望myprogram的过程有一个负面的好(这是有正当理由)。 然而:
root@docker# nice -n -7 ./myprogram nice: cannot set niceness: Permission denied
由于docker是由以root身份运行的docker守护进程运行的,而且我是root的内部容器,所以为什么不这样做,以及如何强制一个负面的好处 ?
注意:docker镜像运行的是debian / sid,主机是ubuntu / 12.04。
尝试添加
--privileged=true
到你的运行命令。
特权=真是旧的方法。 好像
--cap-add=CAP_SYS_NICE
也应该工作。
您也可以使用-c
设置整个容器的CPU优先级。
- Docker文档 : http : //docs.docker.com/reference/run/#runtime-constraints-on-cpu-and-memory
- CGroups / cpu.shares文档 : https : //www.kernel.org/doc/Documentation/scheduler/sched-design-CFS.txt