对于泊坞窗容器,您可以在--cpu-quota
上设置CPU限制(例如--cpu-shares
--memory
)和内存限制(docker run
)。您还可以通过nproc
为用户设置全局--ulimit
限制。
假设有两个不同的用户在一个容器中运行工作负载。有没有办法只为一个特定的docker容器内的单个用户设置限制(不是系统全局)?
例如,对于--ulimit nproc=100
,无法指定允许用户在docker容器内运行最多n个进程。例如,如果用户已在容器外运行40个进程,则允许他在容器内运行60个进程。如果您设置ulimit nproc=40
并且40个进程将在容器外运行,则不允许他在容器内启动新进程。
所以我正在寻找一种方法来为单个docker容器强制执行CPU,内存和进程号限制(即使没有这些限制的其他docker容器在同一系统上运行)。不能为每个用户启动docker容器。
答案 0 :(得分:0)
您可以使用相同的myimage启动2个不同的命令,例如
docker run -u user1 --cpu-shares=12... myimage
和
docker run -u user2 --cpu-shares=24...myimage
您只需在创建图像时创建2个用户
不确定这是否回答了您的问题