docker学习笔记(八):资源限制、监控与编排

2273人浏览 / 47人评论

这次的内容有点多,涉及到了容器的资源限制、容器运行状况监控和容器编排。

同时也是本阶段学习Docker的尾声,接下来将继续学习kubernetes相关知识,相关学习笔记也会同步更新上来。

容器资源限制

Docker在默认情况下可以使用物理机所有资源,很多时候不做限制将会导致容器无休止的占用物理机资源。比如一些运算密集型的容器,持续占用CPU资源;再比如Redis等内存数据库容器将占用更多的内存资源。这样由于个别容器的设计不合理等问题,很有可能导致整个物理机中的容器都无法正常运行。

Docker实现容器资源限制的方式主要是依靠系统内核中的**Cgroups**,cgroups,其名称源自控制组群(control groups)的简写,是Linux内核的一个功能,用来限制、控制与分离一个进程组的资源(如CPU、内存、磁盘输入输出等)。这也是最早的容器,当时叫做进程容器,其实现在Docker也就可以理解成就是一个进程。

对内存进行限制

对内存进行限制,主要是在创建容器是进行指定,具体方如下:

docker run -it -m 200M --rm centos:v1 /bin/bash

以上命令就将容器的最大可使用内存设置为200M了,当容器内部应用使用内存超过200M时将会因为OOM被强行关闭。

对CPU进行限制

谈及CPU限制,主要是使用CPU的亲和性来进行指定容器运行的CPU。相关指令:

docker run -it --cpuset-cpus=1 --rm centos:v1 /bin/bash

这条指令将会绑定该容器到cpu1上,容器中的所运行的程序都将在这颗CPU上执行。

CPU的亲和性

CPU Affinity 可以将进程或线程绑定到一个CPU核或一组CPU核上,这样进程或线程只能在指定的CPU核上执行。可以看做是对操作系统中的调度算法的进行了修改。

意义:线程在一个CPU上运行后,CPU的缓存中可能保存了一些信息,调度该线程在同一CPU上执行减少了缓存未命中,提高了性能,例如用于进行图形渲染的程序

参见:Java CPU亲和性

下面列举一些指令:

# 查看系统CPU信息
[root@localhost ~]# lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                1
On-line CPU(s) list:   0
Thread(s) per core:    1
Core(s) per socket:    1
......

# 创建4个死循环
[root@localhost ~]# cat /dev/zero > /dev/null &
[1] 39829
[root@localhost ~]# cat /dev/zero > /dev/null &
[2] 39830
[root@localhost ~]# cat /dev/zero > /dev/null &
[3] 39831
[root@localhost ~]# cat /dev/zero > /dev/null &
[4] 39832

# 查看4个程序所在CPU信息, 其中psr就是所在CPU编号,当前系统环境只有一个CPU,所以都是0
[root@localhost ~]# ps mo pid,comm,psr `pgrep cat`
   PID COMMAND         PSR
 39829 cat               -
     - -                 0
 39830 cat               -
     - -                 0
 39831 cat               -
     - -                 0
 39832 cat               -
     - -                 0

# 安装 killall
[root@localhost ~]# yum whatprovides */killall
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
......

# 关闭所有cat进程
[root@localhost ~]#  killall -9 cat

# 指定cat 进行使用cpu
taskset -c 0 cat /dev/zero > /dev/null &

更多资源限制参看:使用 docker 对容器资源进行限制

容器监控

这里主要使用到了google提供的cadvisor工具。

docker pull hub.c.163.com/xbingo/cadvisor:latest

docker run \
> -v /var/run:/var/run \
> -v /sys:/sys:ro \
> -v /var/lib/docker:/var/lib/docker:ro \
> -d -p 8080:8080 --name=mon \
> hub.c.163.com/xbingo/cadvisor;latest

容器编排

这里主要讲的是docker-compose这个工具。 相关命令:

# 安装和卸载docker-compose
[root@localhost ~]#  yum install python2-pip -y
[root@localhost ~]#  pip install docker-compose
[root@localhost ~]#  pip uninstall docker-compose
[root@localhost ~]#  docker-compose -v

# docker-compose相关命令
[root@localhost ~]#  docker-compose start
[root@localhost ~]#  docker-compose stop
[root@localhost ~]#  docker-compose rm
[root@localhost ~]#  docker-compose start -d

更多内容可以参看:【Docker入门】第三部分 服务

还有一些其他的编排工具:

  • swarm
  • mesos
  • openshift
  • kubernets

后面将持续更新kubernets的相关学习笔记。

全部评论

2020-08-31 15:03:38.0
docker学习笔记(八):资源限制、监控与编排 [url=http://www.g4762cr5j7ss2ethj9rfz800y8525tf6s.org/]ugrfoeekon[/url] <a href="http://www.g4762cr5j7ss2ethj9rfz800y8525tf6s.org/">agrfoeekon</a> grfoeekon http://www.g4762cr5j7ss2ethj9rfz800y8525tf6s.org/
2020-08-31 02:03:11.0
docker学习笔记(八):资源限制、监控与编排 <a href="http://www.g4fqf2nf49po2p099d09z324tq47w3oms.org/">adctfkzhzd</a> [url=http://www.g4fqf2nf49po2p099d09z324tq47w3oms.org/]udctfkzhzd[/url] dctfkzhzd http://www.g4fqf2nf49po2p099d09z324tq47w3oms.org/
2020-08-30 00:44:15.0
docker学习笔记(八):资源限制、监控与编排 <a href="http://www.gdj9f2jj2s0z768so58e3l9a1j7j23i7s.org/">aipyswhlsxr</a> ipyswhlsxr http://www.gdj9f2jj2s0z768so58e3l9a1j7j23i7s.org/ [url=http://www.gdj9f2jj2s0z768so58e3l9a1j7j23i7s.org/]uipyswhlsxr[/url]
2020-08-27 12:48:00.0
docker学习笔记(八):资源限制、监控与编排 <a href="http://www.g34678qc2lez6x0d8uu81te495gj0u0zs.org/">awsdotmnzit</a> [url=http://www.g34678qc2lez6x0d8uu81te495gj0u0zs.org/]uwsdotmnzit[/url] wsdotmnzit http://www.g34678qc2lez6x0d8uu81te495gj0u0zs.org/
2020-08-27 08:47:35.0
docker学习笔记(八):资源限制、监控与编排 <a href="http://www.gy5dz9h97x74um597780vl4y44er2itms.org/">awjtobmgpwq</a> wjtobmgpwq http://www.gy5dz9h97x74um597780vl4y44er2itms.org/ [url=http://www.gy5dz9h97x74um597780vl4y44er2itms.org/]uwjtobmgpwq[/url]
2020-08-26 20:05:06.0
docker学习笔记(八):资源限制、监控与编排 <a href="http://www.g09w4i23wai03ukrw0usn6967c14c7f3s.org/">asvqegmpynn</a> [url=http://www.g09w4i23wai03ukrw0usn6967c14c7f3s.org/]usvqegmpynn[/url] svqegmpynn http://www.g09w4i23wai03ukrw0usn6967c14c7f3s.org/
2020-08-25 05:09:29.0
docker学习笔记(八):资源限制、监控与编排 [url=http://www.g1bmtpa01q0en53f8gc893a310nfa684s.org/]uvelgdpwdjv[/url] velgdpwdjv http://www.g1bmtpa01q0en53f8gc893a310nfa684s.org/ <a href="http://www.g1bmtpa01q0en53f8gc893a310nfa684s.org/">avelgdpwdjv</a>
2020-07-25 20:02:29.0
damen m盲dchen trend rucksack modetrend nieten metallic gl盲nzend <a href="http://www.trudoinc.com/fellm眉tze/bulldogge-polka-dots-handtasche">bulldogge polka dots handtasche</a> <a href="http://www.herosmedias.com/karmine/topshop-shirred-vestido-de-tubo">topshop shirred vestido de tubo</a> necklace medalla milagrosa comprar en <a href="http://www.fisiltihaber.com/global/nylon-slips-herren">nylon slips herren</a> leichte freizeithose damen tchibo versandkosten sparen <a href="http://www.picrails.com/authentic/adidas-originals-t-shirt-herren-3-stripes-tee-fm3773-hellblau">adidas originals t shirt herren 3 stripes tee fm3773 hellblau</a> w盲sche babymode bei kik <a href="http://www.dream11deathovers.com/cebador/body-para-beb%c3%a9-ropa-para-beb%c3%a9-reci%c3%a9n-nacido-invierno-mameluco-beb%c3%a9" >body para beb茅 ropa para beb茅 reci茅n nacido invierno mameluco beb茅</a> [url=http://www.dream11deathovers.com/cebador/body-para-beb%c3%a9-ropa-para-beb%c3%a9-reci%c3%a9n-nacido-invierno-mameluco-beb%c3%a9]body para beb茅 ropa para beb茅 reci茅n nacido invierno mameluco beb茅[/url]
2020-07-25 03:17:25.0
tepl谩ky in socks tri膷ko vans checkered <a href="http://www.kaisarnews.com/nem膷ina/tepl%c3%a1ky-with-long-drawstrings">tepl谩ky with long drawstrings</a> d臎tsk茅 dekorace 尾蔚位慰蠀未喂谓伪 蟽伪魏伪魏喂伪 伪谓未蟻喂魏伪 <a href="http://www.baoltv.com/蟺位伪魏i未喂蠅谓/%ce%b1%cf%83%cf%80%cf%81%ce%b5%cf%83-%ce%bc%cf%80%ce%bf%cf%84%ce%b5%cf%83-%cf%86%ce%b8%ce%b7%ce%bd%ce%b5%cf%83">伪蟽蟺蟻蔚蟽 渭蟺慰蟿蔚蟽 蠁胃畏谓蔚蟽</a> 蠁伪蠄蟿慰蟻蠀 伪慰胃蟿位蔚蟿 蟽蠂慰位喂魏畏 蟿蟽伪谓蟿伪 渭蔚 蟻慰未伪魏喂伪 魏蟻蔚渭伪蟽蟿伪 蟺伪喂蠂谓喂未喂伪 魏慰蠀谓喂伪蟽 <a href="http://www.epathibhara.com/伪蟺萎蠂畏蟽畏/mcm-%cf%84%cf%83%ce%b1%ce%bd%cf%84%ce%b5%cf%83-%cf%89%ce%bc%ce%bf%cf%85">mcm 蟿蟽伪谓蟿蔚蟽 蠅渭慰蠀</a> 蠁慰蟻蔚渭伪蟿伪 蔚渭蟺蟻喂渭蔚 蠂蔚喂渭蠅谓喂伪蟿喂魏伪 <a href="http://www.arshagnews.com/蟺位蔚蠂蟿维/%ce%b9%ce%b4%ce%b5%ce%b5%cf%83-%ce%b3%ce%b9%ce%b1-%ce%b4%ce%b9%ce%b1%ce%ba%ce%bf%cf%83%ce%bc%ce%b7%cf%83%ce%b7-%cf%83%ce%b1%ce%bb%ce%bf%ce%bd%ce%b9%ce%bf%cf%85">喂未蔚蔚蟽 纬喂伪 未喂伪魏慰蟽渭畏蟽畏 蟽伪位慰谓喂慰蠀</a> geox zimni bundy <a href="http://www.chalupy-chaty.com/barcel贸na/rytmus-boty">rytmus boty</a> <a href="http://www.epathibhara.com/蟺伪谓蟿蔚蠂谓喂魏畏/%ce%b2%cf%81%ce%b5%cf%86%ce%b9%ce%ba%ce%b1-%ce%bc%cf%80%ce%bf%cf%85%cf%86%ce%b1%ce%bd-benetton">尾蟻蔚蠁喂魏伪 渭蟺慰蠀蠁伪谓 benetton</a> <a href="http://www.baoltv.com/蟺喂维蟽蟿畏魏蔚/%ce%b1%cf%80%ce%bf%ce%ba%cf%81%ce%b9%ce%b1%cf%84%ce%b9%ce%ba%ce%b5%cf%83-%cf%83%cf%84%ce%bf%ce%bb%ce%b5%cf%83-%ce%b3%ce%b1%cf%84%ce%b1%cf%83-%ce%b3%ce%b9%ce%b1-%ce%ba%ce%bf%cf%81%ce%b9%cf%84%cf%83%ce%b9%ce%b1" >伪蟺慰魏蟻喂伪蟿喂魏蔚蟽 蟽蟿慰位蔚蟽 纬伪蟿伪蟽 纬喂伪 魏慰蟻喂蟿蟽喂伪</a> [url=http://www.baoltv.com/蟺喂维蟽蟿畏魏蔚/%ce%b1%cf%80%ce%bf%ce%ba%cf%81%ce%b9%ce%b1%cf%84%ce%b9%ce%ba%ce%b5%cf%83-%cf%83%cf%84%ce%bf%ce%bb%ce%b5%cf%83-%ce%b3%ce%b1%cf%84%ce%b1%cf%83-%ce%b3%ce%b9%ce%b1-%ce%ba%ce%bf%cf%81%ce%b9%cf%84%cf%83%ce%b9%ce%b1]伪蟺慰魏蟻喂伪蟿喂魏蔚蟽 蟽蟿慰位蔚蟽 纬伪蟿伪蟽 纬喂伪 魏慰蟻喂蟿蟽喂伪[/url]
2020-07-22 06:49:18.0
relojes para mujer reloj de pulsera <a href="http://www.jeffmkeyz.com/bibiana/las-8-botas-y-botines-de-tac%c3%b3n-c%c3%b3modo-que-sara-carbonero-combina">las 8 botas y botines de tac贸n c贸modo que sara carbonero combina</a> reloj casio timeshop <a href="http://www.hicongnghe.com/girlfriends/hombro-de-lona-de-la-vendimia-bolsos">hombro de lona de la vendimia bolsos</a> blusas blanco con negro damen jeans shorts hotpants ripped frayed kurze jeanshose sommer killtec funktionsunterw盲sche gr 164 <a href="http://www.pharmacielafayettedecarnel.com/concord/2-funktionen-schultertasche-leder-braun-stoff-knospen">2 funktionen schultertasche leder braun stoff knospen</a> venta de ropa para ni帽os <a href="http://www.herosmedias.com/correpasillos/elegante-un-hombro-azul-real-vestidos-de-graduaci%c3%b3n-vestido-largo">elegante un hombro azul real vestidos de graduaci贸n vestido largo</a> pieza de pijamas de dibujos animados <a href="http://www.wetsetscuba.com/jaliscienses/vestido-straplesscomo-hacer" >vestido straplesscomo hacer</a> [url=http://www.wetsetscuba.com/jaliscienses/vestido-straplesscomo-hacer]vestido straplesscomo hacer[/url]