docker 虚拟化平台资源管理

资源管理
Docker通过Cgroup 来控制容器使用的资源配额,包括CPU、内存、磁盘三大方面,基本覆盖了常见的资源配额和使用量控制

为什么做资源管理
当多个容器运行时,防止某容器把所有的硬件都占用。比如一台被攻击的容器可能会无限占用资源

容器主机名
语法:
    docker run -it --name 容器名 -h 主机名 镜像  要执行的命令

创建一个容器实例
    docker run -it --name docker3 -h zxdoc.cn centos /bin/bash

容器启动策略管理
参数:
    --restart=[value] #参数可以指定一个重启策略

Docker容器的重启策略([value])如下:
    no  默认策略,守护进程启动时不自动重新启动容器。
    on-failure[:max-retries] 仅当容器以非零状态退出时才重新启动。[:max-retries]可选项,限制Docker守护进程尝试的重启重试次数。若超过指定次数未能启动容器则放弃。
    always  无论容器的当前状态如何,容器也总是在守护进程启动时启动。
    unless-stopped  容器在守护进程启动之前已被置于停止状态,则不在守护进程启动时启动它。

容器启动策略修改语法:
    docker update --restart=[value] [ID或name]#更新配置


资源管理之-CPU控制
权重参数:
    -c, --cpu-shares int   #指定容器所使用的CPU权重值(相对)

    默认每个docker容器的CPU权重值都是1024,在同一个CPU核心上,同时运行多个容器时,容器的CPU加权的效果才能体现出来。
    容器A的进程一直是空闲的,那么容器B是可以获取比容器A更多的CPU时间片的;
    主机上只运行了一个容器,即使它的CPU权重只有50,它也可以独占整个主机的CPU资源。


亲和力参数:
    --cpuset-cpus   #可以绑定CPU核心个数
    --cpuset-mems   #绑定内存个数,用于多处理器的设计

    对多核CPU和多内存节点的服务器,docker还可以控制容器运行限定使用哪些CPU内核和内存节点,即使用--cpuset-cpus和 --cpuset-mems参数。可以对需要高性能计算的容器进行性能最优的配置。
    
实例操作:
    1、 指定docker10只能在CPU0和CPU1上运行,并且docker10的使用CPU的权重 512。       
    docker run -itd --name docker10 --cpuset-cpus 0,1 --cpu-shares 512 centos bash
    2、指定docker20只能在CPU0和CPU1上运行,而且docker20的使用CPU的权重1024,比dcker10多一倍。
    docker run -itd --name docker20 --cpuset-cpus 0,1 --cpu-shares 1024 centos bash


资源管理之-内存管理

参数:
    -m, --memory bytes #限制容器的内存使用大小

例子:
    例1:允许容器使用的内存上限为128M
    docker run -it -m 128m centos bash
    例2:容器只使用2个CPU 核心,只能使用128M内存
    docker run -it --cpuset-cpus 0,1 -m 128m centos
    

资源管理之-I/O控制

参数:
    --device-read-bps list #限制此设备上的每秒读速度
    --device-write-bps list #限制此设备上的每秒写速度

    一台存储给2000台云主机使用,需要控制一下。防止某台云主机吃光你的磁盘I/O资源。

例:
    限制容器实例对硬盘的最高写入速度设定为1MB/s
    docker run -it --device-write-bps /dev/sda:1mb centos bash


资源管理之-容器自动删除
参数:
    --rm   #当容器命令运行结束后,自动删除容器,并释放资源。

    应用场景:在某些环境下,可能需要大量的新建docker实例,然后仅仅运行几秒钟或几分钟,然后就彻底删除。如运行单元测试或测试弹性云计算。

    例:创建一个容器,等待20秒后自动删除。
    docker run -itd --rm --name zxtest centos sleep 20

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值