|
|
|
|
公众号矩阵

使用Docker对容器资源进行限制

在服务器当中,假设iis服务部署多个站点,那么只要其中一个站点出问题,假设是cpu100%,或者是内存爆满,那么这台服务器上的其他站点都会跟着挂掉。

作者: conan5566 来源:UP技术控|2021-03-05 00:06

 

本文转载自微信公众号「UP技术控」,作者conan5566。转载本文请联系UP技术控公众号。 

问题窥探

在服务器当中,假设iis服务部署多个站点,那么只要其中一个站点出问题,假设是cpu100%,或者是内存爆满,那么这台服务器上的其他站点都会跟着挂掉。同样在使用容器时,单台主机上可能会跑几十个容器,容器虽然都相互隔离,但是用的却是与宿主机相同的内核,CPU、内存、磁盘等硬件资源。如果不对容器资源进行限制,容器之间就会相互影响。

解决办法

Docker提供了限制内存,CPU或磁盘IO的方法, 可以对容器所占用的硬件资源大小以及多少进行限制,我们在使用docker create创建一个容器或者docker run运行一个容器的时候就可以来对此容器的硬件资源做限制。

内存限制

Docker 提供的内存限制功能有以下几点:

1、容器能使用的内存和交换分区大小。

2、容器的核心内存大小。

3、容器虚拟内存的交换行为。

4、容器内存的软性限制。

5、是否杀死占用过多内存的容器。

6、容器被杀死的优先级

  1. -m,--memory     内存限制,格式是数字加单位,单位可以为 b,k,m,g。最小为 4M 
  2. --memory-swap   内存+交换分区大小总限制。格式同上。必须必-m设置的大 
  3. --memory-reservation    内存的软性限制。格式同上 
  4. --oom-kill-disable      是否阻止 OOM killer 杀死容器,默认没设置 
  5. --oom-score-adj         容器被 OOM killer 杀死的优先级,范围是[-1000, 1000],默认为 0 
  6. --memory-swappiness     用于设置容器的虚拟内存控制行为。值为 0~100 之间的整数 
  7. --kernel-memory         核心内存限制。格式同上,最小为 4M 

用户内存限制就是对容器能使用的内存和交换分区的大小作出限制。

使用时要遵循两条直观的规则:

  1. -m,--memory选项的参数最小为 4M。 
  2. --memory-swap不是交换分区,而是内存加交换分区的总大小,所以--memory-swap必须比-m,--memory大。 

cpu限制

docker run命令和 CPU 限制相关的所有选项如下:

  1. --cpuset-cpus=""          允许使用的 CPU 集,值可以为 0-3,0,1 
  2. -c,--cpu-shares=0   CPU     共享权值(相对权重) 
  3. cpu-period=0              限制 CPU CFS 的周期,范围从 100ms~1s,即[1000, 1000000] 
  4. --cpu-quota=0             限制 CPU CFS 配额,必须不小于1ms,即 >= 1000 
  5. --cpuset-mems=""          允许在上执行的内存节点(MEMs),只对 NUMA 系统有效 

其中--cpuset-cpus用于设置容器可以使用的 vCPU 核。-c,--cpu-shares用于设置多个容器竞争 CPU 时,各个容器相对能分配到的 CPU 时间比例。--cpu-period和--cpu-quata用于绝对设置容器能使用 CPU 时间。

【编辑推荐】

  1. Linux云计算运维工程师路线图(集群、虚拟化、K8S、Docker、智能化、Python大数据)
  2. 在Windows上安装Docker,你会吗?
  3. 云原生课程系列1-docker与containerd (2021新版)
  4. 聊聊.NET 5 部署在Docker上运行
  5. Docker与K8s下[应用容器化]部署实践视频课程
【责任编辑:武晓燕 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+更多

数据湖与数据仓库的分析实践攻略

数据湖与数据仓库的分析实践攻略

助力现代化数据管理:数据湖与数据仓库的分析实践攻略
共3章 | 创世达人

6人订阅学习

云原生架构实践

云原生架构实践

新技术引领移动互联网进入急速赛道
共3章 | KaliArch

35人订阅学习

数据中心和VPDN网络建设案例

数据中心和VPDN网络建设案例

漫画+案例
共20章 | 捷哥CCIE

225人订阅学习

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO官微