一尘不染

如何通过docker run将50%的CPU资源分配给docker容器?

docker

我有一个4核CPU,我想为Docker容器分配50%的CPU资源。
阅读完docker- run手册和config.go源代码后。
我仍然不知道如何使用该-c, --cpu-shares=0选项。

docker run -c 0.5 -i -t ubuntu /bin/bash

要么

docker run -c 2 -i -t ubuntu /bin/bash

阅读 468

收藏
2020-06-17

共1个答案

一尘不染

相对于默认设置1024,cpu-shares是一个“相对权重”,因此,如果您有两个容器在同一内核上运行,则可以通过调整CPU
50-50或80-20或您想要的任何值来给它们数字。它是整数。

您不能使用此标志来提供总体限制,但是可以使用--cpuset
此处提到的来限制容器运行的CPU组。

数字1024在Cgroups docs中

Marek
Goldmann的这篇博客文章介绍了Docker中的资源管理。

另请参阅为Docker容器设置CPU的绝对限制,这表示可以使用lxc(旧的Docker实现)来完成,而不能使用libcontainer(当前的Docker实现)来完成。

2020-06-17