我在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
此外,sudo docker run --user=user1 --rm=true <container-name> bash
不适用于pam限制,但sudo docker run ... --user=user1 ... cmd
执行
答案 0 :(得分:0)
/etc/security/limits.conf
只是启动时PAM基础架构读取的文件。 Docker容器是刚启动后处于原始状态的内核克隆。这意味着环境的任何继承初始化都不会应用于容器。你必须使用&#39;限制&#39;命令直接设置进程限制。
更好的方法是使用容器限制,不幸的是当前版本的docker doesn't support限制了进程数。看起来支持将在版本1.6中出现,就像@thaJeztah所提到的那样。