当前位置: 首页 > 面试题库 >

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

慕容宇
2023-03-14
问题内容

我有一个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

问题答案:

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

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

数字1024在Cgroups docs中。

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

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



 类似资料:
  • 问题内容: 正如这个问题的标题所示,我想使用docker(docker.io)设置容器的最大磁盘/内存和cpu使用率。 有没有办法只使用docker来做到这一点? 问题答案: 内存/ CPU Docker现在支持更多资源分配选项: 通过-c标志分配CPU 内存限制,通过-m标志 特定的CPU内核,通过–cpuset标志 请查看更多详细信息。 如果使用lxc后端(),则可以指定更细粒度的资源分配方案

  • 我正在尝试为kubernetes吊舱中运行的服务分配CPU资源。服务大多是基于nodejs的RESTendpoint,带有一些DB操作。 在负载测试期间,尝试在100米和1000米之间对吊舱进行不同的组合。对于每秒的预期请求数,当值小于 我不知道应该根据什么来选择特定的CPU资源值。有人能在这方面帮助我吗?

  • 问题内容: 我知道我可以在使用带有CPU和内存的and 标志的docker进行配置时限制分配给容器的资源。 但是,有没有一种方法可以动态地(在配置完之后)将这些分配的资源更改为容器,而无需使用更改后的资源重新部署同一容器? 问题答案: 目前不行-希望有人可以实现它:https : //github.com/docker/docker/issues/6323

  • 我现在尝试在启动Docker容器时分配静态IP172.17.0.1。 我使用端口2122作为该容器的ssh端口,以便让该容器侦听端口2122。 这个命令将运行一个带有随机IP的Docker容器,如172.17.0.5,但我需要为容器分配一个特定的IP。 下面的shell脚本是我在高级网络设置中引用Docker文档的部分。 此shell脚本将分配一个静态IP 172.17.0.1并链接到world

  • 我不确定我是否误解了这里的某些东西,但似乎只有通过从映像创建一个新容器来设置端口映射才是可能的。是否有一种方法将一个端口映射分配给一个现有的Docker容器?

  • 问题内容: 我想为容器分配一个端口,以便在每次重新启动容器后都获得相同的端口。 示例:我有一个容器,其中有一个Apache。Apache在容器内的端口80上运行。现在,在启动容器后,docker将一个主机端口分配给该容器端口,例如:49154->80。但是该主机端口在重新启动后会更改,具体取决于正在运行的容器的数量。我试图在容器的config.json文件中指定端口,但该端口被覆盖。 是否可以手动