我有一个4核CPU,我想为Docker容器分配50%的CPU资源。 阅读完docker- run手册和config.go源代码后。 我仍然不知道如何使用该-c, --cpu-shares=0选项。
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
相对于默认设置1024,cpu-shares是一个“相对权重”,因此,如果您有两个容器在同一内核上运行,则可以通过调整CPU 50-50或80-20或您想要的任何值来给它们数字。它是整数。
您不能使用此标志来提供总体限制,但是可以使用--cpuset 此处提到的来限制容器运行的CPU组。
--cpuset
数字1024在Cgroups docs中。
Marek Goldmann的这篇博客文章介绍了Docker中的资源管理。
另请参阅为Docker容器设置CPU的绝对限制,这表示可以使用lxc(旧的Docker实现)来完成,而不能使用libcontainer(当前的Docker实现)来完成。