我在docker镜像中有一个代码的测试环境,我通过在容器中运行bash来使用它:
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。
答案 0 :(得分:4)
尝试添加
--privileged=true
到你的跑步命令。
[edit] privileged = true是旧方法。看起来像
--cap-add=SYS_NICE
应该也可以。
答案 1 :(得分:2)
您还可以使用-c
为CPU份额设置整个容器的CPU优先级。