docker 笔记 限制容器

Posted 一只宅男的自我修养

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker 笔记 限制容器相关的知识,希望对你有一定的参考价值。

  • 内存
    • -m 或 --memory:设置内存的使用限额,例如 100M, 2G。--memory-swap:设置 内存+swap 的使用限额。--vm 1:启动 1 个内存工作线程。--vm-bytes 280M:每个线程分配 280M 内存
    • docker run -m 200M --memory-swap=300M ubuntu  

 

  • CPU
    • docker run --name "container_A" -c 1024 ubuntu

      docker run --name "container_B" -c 512 ubuntu


      container_A 的 cpu share 1024,是 container_B 的两倍。当两个容器都需要 CPU 资源时,container_A 可以得到的 CPU 是 container_B 的两倍。

      需要特别注意的是,这种按权重分配 CPU 只会发生在 CPU 资源紧张的情况下。如果 container_A 处于空闲状态,这时,为了充分利用 CPU 资源,container_B 也可以分配到全部可用的 CPU。

  • I/O
    • block IO 权重

      默认情况下,所有容器能平等地读写磁盘,可以通过设置 --blkio-weight 参数来改变容器 block IO 的优先级。

      --blkio-weight 与 --cpu-shares 类似,设置的是相对权重值,默认为 500。在下面的例子中,container_A 读写磁盘的带宽是 container_B 的两倍。

      docker run -it --name container_A --blkio-weight 600 ubuntu   

      docker run -it --name container_B --blkio-weight 300 ubuntu

      限制 bps 和 iops

      bps 是 byte per second,每秒读写的数据量。
      iops 是 io per second,每秒 IO 的次数。

      可通过以下参数控制容器的 bps 和 iops:
      --device-read-bps,限制读某个设备的 bps。
      --device-write-bps,限制写某个设备的 bps。
      --device-read-iops,限制读某个设备的 iops。
      --device-write-iops,限制写某个设备的 iops。

      下面这个例子限制容器写 /dev/sda 的速率为 30 MB/s

      docker run -it --device-write-bps /dev/sda:30MB ubuntu

以上是关于docker 笔记 限制容器的主要内容,如果未能解决你的问题,请参考以下文章

企业运维实战--最全Docker学习笔记5.Docker安全容器资源控制安全加固

Docker学习笔记Docker容器相关技术

关于Docker中 容器镜像管理,数据卷网络,本地仓库,容器监控的一些笔记

Docker学习笔记(9-3)Docker容器与外部网络的连接(待加强)

白话 Linux 容器资源的隔离限制原理

如何在从 docker 容器运行的 jupyter 笔记本中获取黑色代码格式?