正如 Charles 所提到的,默认情况下,可以使用所有内容,也可以使用 --cpuset-cpus参数对每个容器进行限制。
docker run --cpuset-cpus="0-2" myapp:latest
这会将容器限制为3个 CPU (0、1和2)。
限制容器的 CPU 使用率的首选方法是对 CPU 进行小数限制:
docker run --cpus 2.5 myapp:latest
这将把容器限制在主机上的2.5个内核。
最后,如果你在一个虚拟机中运行 Docker,包括 Mac 版的 Docker,Windows 版的 Docker,以及 Docker-machine,这些虚拟机的 CPU 限制将独立于你的笔记本电脑本身。Docker 运行在该 VM 内部,并将使用分配给 VM 本身的所有资源。例如,在 Docker for Mac 中,你可以看到以下菜单: