docker cgroub

docker 的资源管理

1、cpu的资源控制

一:设置cpu的资源上限

 cd /sys/fs/cgroup/cpu/docker/

cpu 的占用量达到100%

docker cgroub_第1张图片

docker cgroub_第2张图片

docker cgroub_第3张图片

 

cpu 设置一半50%

docker cgroub_第4张图片

 2. 设置cpu资源占用比(设置多个容器才有用)

docker cgroub_第5张图片

 

docker run -itd --name c3  --cpu-shares 512 centos:7

docker exec -it c3 bash

yum install -y epel-release

yum install -y stress 

stress -c 4 运行

docker stats  查看容器运行状态

3. 设置容器绑定指定的cpu 的编号0或1

docker cgroub_第6张图片

 docker run -itd --name b3 --cpuset-cpus 1 centos:7

top 查看   然后点1 查看cpu1的信息

(二)对内存使用的限制

-m 指定内存的占用大小

docker run -itd --name a3 -m 512m centos:7

docker cgroub_第7张图片

限制swap 内存与swap的总大小

 --memory-swap =-1  

2. 磁盘IO读写限制

 docker run --device-read-bps

docker run -itd --name c2 --device-write-bps /dev/sda:1M centos:7 写的速度

dd if=/dev/zero of=./text.txt bs=1M count=10 oflag=direct  一个测试速度的文件

正常的读写速度

docker cgroub_第8张图片

 设置之后的读写速度docker cgroub_第9张图片

 三 docker 镜像的创建

docker cgroub_第10张图片

 1.在已有的容器在里面写入数据,然后导出成新的镜像

创建的新镜像的方式:

docker exec -it c1 bash

yum -y install httpd

vi /etc/httpd/conf/httpd.conf 

yum install net-tools -y

 /usr/sbin/apachectl -D FOREGROUBND

/usr/sbin/apachectl start

ps aux  查看

apachectl -D FOREGROUBND  启动apache 

导出 1  

 docker commit -m "apache" -a "wl<2023-6-05>" 29018665d43b apache:centos7 

docker run -itd apache:centos7

docker exec -it e02f687c35e1 bash

apachectl -D FOREGROUBND

docker cgroub_第11张图片或者另一种导出方式

docker export -o apache.atr 29018665d43b 镜像导出成文件包 apache.atr

docker import apache.atr -- lcy:yangyang 导出成镜像

 docker exec -it 56c0d56d5b27 bash  进入容器

apachectl -D FOREGROUBND

 docker cgroub_第12张图片

你可能感兴趣的:(docker,容器,运维)