docker 的资源管理
1、cpu的资源控制
一:设置cpu的资源上限
cd /sys/fs/cgroup/cpu/docker/
cpu 的占用量达到100%
cpu 设置一半50%
2. 设置cpu资源占用比(设置多个容器才有用)
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 run -itd --name b3 --cpuset-cpus 1 centos:7
top 查看 然后点1 查看cpu1的信息
(二)对内存使用的限制
-m 指定内存的占用大小
docker run -itd --name a3 -m 512m centos: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 镜像的创建
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 export -o apache.atr 29018665d43b 镜像导出成文件包 apache.atr
docker import apache.atr -- lcy:yangyang 导出成镜像
docker exec -it 56c0d56d5b27 bash 进入容器
apachectl -D FOREGROUBND