【问题标题】:How can I set negative niceness of a docker process?如何设置 docker 进程的负面友好度?
【发布时间】:2014-11-20 13:48:27
【问题描述】:

我有一个 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。

【问题讨论】:

    标签: docker privileges nice


    【解决方案1】:

    尝试添加

    --privileged=true
    

    到你的运行命令。

    [edit] privileged=true 是旧方法。看起来像

    --cap-add=SYS_NICE
    

    应该也可以。

    【讨论】:

    • --privileged=true 就像魅力一样(看起来我的 docker 版本不是最前沿的)。谢谢。
    • 在我的系统上,我得到了docker: Error response from daemon: linux spec capabilities: Unknown capability to add: "CAP_CAP_SYS_NICE". 使用--cap-add=SYS_NICE 工作。
    【解决方案2】:

    您还可以使用-c 设置整个容器的 CPU 优先级以获取 CPU 份额。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-29
      • 2011-07-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-27
      • 2017-02-07
      相关资源
      最近更新 更多