如何使`docker run`继承ulimits

时间:2014-09-09 12:09:46

标签: linux docker ulimit

通过docker运行命令似乎不符合我当前配置的ulimit

$ ulimit -t
5
~ $ sudo -- bash -c "ulimit -t"
5
~ $ sudo -- docker run --rm debian:wheezy bash -c "ulimit -t"
unlimited

我该怎么做呢?

2 个答案:

答案 0 :(得分:1)

您可以在Docker守护程序配置中设置全局限制。在Ubuntu上,这是在Upstart中管理的。将limit cpu <softlimit> <hardlimit>添加到/etc/init/docker.conf并重新启动守护程序。

在每个容器的基础上,您必须使用--privileged标记docker run来设置ulimits。没有--privileged,AFAIK就无法做到。

另见Runtime constraints on CPU and memory

答案 1 :(得分:0)

目前(v1.5.0)这些限制是从docker守护程序的限制继承的。但是,docker团队即将发布limits per containers

对于解决方法,您可以在容器内设置限制,如

# docker run ubuntu bash -c "ulimit -t 5; doSomething"