docker container中的pam限制不起作用

时间:2014-03-25 02:05:12

标签: docker

我在docker容器中的/etc/security/limits.conf中添加了一些内容来限制user1的最大用户进程数,但是当我在用户user1下的容器中运行bash时,{{ 1}}未反映pam限制文件(ulimit -a)中定义的限制。

我怎样才能让它发挥作用?

我还将/etc/security/limits.conf行添加到session required pam_limits.so,这不是问题所在。

我使用/etc/pam.d/common-session

之类的东西启动docker容器

此外,sudo docker run --user=user1 --rm=true <container-name> bash不适用于pam限制,但sudo docker run ... --user=user1 ... cmd执行

1 个答案:

答案 0 :(得分:0)

/etc/security/limits.conf只是启动时PAM基础架构读取的文件。 Docker容器是刚启动后处于原始状态的内核克隆。这意味着环境的任何继承初始化都不会应用于容器。你必须使用&#39;限制&#39;命令直接设置进程限制。

更好的方法是使用容器限制,不幸的是当前版本的docker doesn't support限制了进程数。看起来支持将在版本1.6中出现,就像@thaJeztah所提到的那样。