Docker 容器在使用主机 CPU 方面没有默认限制。不过,有几个 Docker CLI 选项可以定义为运行中的容器分配多少 CPU 资源。本文主要讲解其中常用的两个—cpus(用于限制cpu内核数量) 和 --cpu-shares(用户限制cpu内核周期)以及如何查看为容器分配cpu的情况。
限制 CPU 内核数量
--cpus 选项提供了一种限制容器可以使用多少个 CPU 内核的方法。下面的示例显示了运行 Nginx 容器并使用一个 CPU 内核的命令:
docker run -dit --cpus="1.0" nginx
--cpus选项的值是一个十进制数,即该选项也接受一个CPU内核的分数。
限制 CPU 周期
当系统有足够的 CPU 能力时,每个容器都可以按需使用。不过,当 CPU 资源不足时,可以使用 --cpu-shares 选项来控制容器可用的 CPU 周期份额。默认情况下,该值设置为 1024。
例如,要运行具有 2048 个 CPU 共享的容器,请运行
docker run -dit --cpu-shares="2048" nginx
当出现资源竞争时,分配2048 CPU 共享的容器获得的 CPU 时间是默认容器的两倍。
验证 Docker CPU 使用情况
要检查容器的 CPU 限制,请使用下面的 docker inspect 命令。为方便搜索,可基于grep命令进行搜索。
查看容器可使用的 CPU 数量:
docker inspect [container-name] | grep NanoCpus
查看分配给容器的 CPU 份额:
docker inspect [container-name] | grep CpuShares
以上便是docker容器限制cpu的使用说明,希望对你有所帮助!
以上案例,对于docker的基础命令不再解释,不熟悉的可以看我的docker实战课,地址:Docker 实战_在线视频教程-CSDN程序员研修院