限制个人用户的码头集装箱资源

问题描述:

对于码头集装箱,您可以在docker run上设置CPU限制(例如--cpu-quota--cpu-shares)和内存限制(--memory)。也可以通过--ulimit为用户设置全球nproc限制。限制个人用户的码头集装箱资源

比方说,两个不同的用户在一个容器中运行的工作负载。是否有一种方法可以为一个特定码头集装箱内的单个用户(而不是系统全局)设置限制?

例如与--ulimit nproc=100它是不可能指定一个用户被允许准确运行最多N个过程的搬运工容器的内部。例如,如果用户已经在容器外运行了40个进程,则允许他在容器内运行60个进程。如果您设置ulimit nproc=40并且40个进程将在容器外部运行,他将不被允许在容器内启动新的进程。

所以我在寻找一种方式来执行用户的基础上CPU,内存和进程数限制为单个泊坞窗容器(即使其他搬运工的容器没有这些限制在同一系统上运行)。为每个用户启动泊坞窗容器不是一种选择。

您可以使用相同的MYIMAGE推出2级型动物的命令,例如

docker run -u user1 --cpu-shares=12... myimage

docker run -u user2 --cpu-shares=24...myimage

你只需要在创建映像的创建2个用户

不知道这是否回答您的问题

+0

这将启动两个容器,在我的方案中,一个容器中有多个用户。 –