为单个用户限制docker容器的资源
对于docker容器,您可以在为单个用户限制docker容器的资源,docker,resources,scheduling,ulimit,Docker,Resources,Scheduling,Ulimit,对于docker容器,您可以在docker run上设置CPU限制(例如--CPU配额--CPU共享)和内存限制(--memory)。还可以通过--ulimit为用户设置全局nproc限制 假设两个不同的用户在一个容器中运行工作负载。是否有办法仅在一个特定docker容器内(而非系统全局)为单个用户设置限制 例如,对于--ulimit nproc=100,无法指定允许用户在docker容器内运行最多n个进程。例如,如果一个用户已经在容器外运行了40个进程,则允许他在容器内运行60个进程。如果设置
docker run
上设置CPU限制(例如--CPU配额--CPU共享)和内存限制(--memory
)。还可以通过--ulimit
为用户设置全局nproc
限制
假设两个不同的用户在一个容器中运行工作负载。是否有办法仅在一个特定docker容器内(而非系统全局)为单个用户设置限制
例如,对于--ulimit nproc=100
,无法指定允许用户在docker容器内运行最多n个进程。例如,如果一个用户已经在容器外运行了40个进程,则允许他在容器内运行60个进程。如果设置ulimit nproc=40
并且40个进程将在容器外部运行,则不允许他在容器内部启动新进程
因此,我正在寻找一种方法,以用户为基础对单个docker容器实施CPU、内存和进程数限制(即使没有这些限制的其他docker容器在同一系统上运行)。为每个用户启动docker容器不是一个选项。例如,您可以使用相同的myimage启动两个不同的命令
docker运行-u user1--cpu共享=12。。。myimage
及
docker run-u user2--cpu共享=24…myimage
您只需在创建图像时创建2个用户
不确定这是否回答了您的问题这将启动两个容器,在我的场景中,一个容器中有多个用户。