在Docker Swarm中设置硬CPU限制

时间:2019-03-01 01:50:18

标签: resources cpu limit docker-swarm

我试图在由三个VM组成的Docker Swarm中设置硬CPU和内存限制。我正在docker-compose.yml文件中使用docker documentation建议的CPU和内存限制配置。我的docker-compose.yml文件看起来像

version: "3"
services:
  app:
    # replace username/repo:tag with your name and image details
    image: user/testing:part2
    deploy:
      replicas: 10
      resources:
        limits:
          cpus: "0.5"
          memory: 4M    
      restart_policy:
        condition: on-failure

我的主机和VM的CPU和内存资源如下图所示。我的主机有4个CPU,所有VM都有1个CPU。

enter image description here

要弄清楚Docker容器是否可以限制其资源,我正在运行一个测试程序,其中包含infinite loop。我的实验快照之一如下所示。它在三个VM(VM1:左下,VM2:右上,VM3:右下)上显示docker stats的结果。

enter image description here

看看结果,我有几个问题。

  1. 每个容器的CPU如何限制为50%
  2. 每个VM具有1个CPU,然后如何在一个VM上运行,docker容器的CPU%总和超过100%
  3. 在上图中,我正在运行7个Docker容器,所有容器的CPU%总数约为22+21+88+52+66+78+76 = 403。哪一个 表示该群正在使用4个核心,而不是3。是吗 泊坞窗允许群组使用CPU的资源 主机也可以吗?

有人可以指导我这些问题吗?谢谢。

0 个答案:

没有答案