限制容器使用资源

限制日志文件

--log-driver json-file           #日志驱动
--log-opt max-size=[0-9+][k|m|g]     #文件的大小
--log-opt max-file=[0-9+]         #文件数量

全局配置  /etc/docker/daemon.json

"log-driver":"json-file",
"log-opts": {"max-size":"500m", "max-file":"3"}

systemctl daemon-reload
systemctl restart docker

内存限制

docker run -it -m 200M --memory-swap=300M images:version --vm 1 --vm-bytes 280M

-m: 内存限额                                             

--memeory-swap :内存+swap的使用限额(默认是-m的2倍)

--vm : 启动一个内存工作线程

--vm-bytes: 每个线程分配的内存

cpu权重

-c: 设置cpu的权重,默认是1024

--cpu: 设置工作线程的数量

block IO 权重

--blkio-weight: block IO优先级,默认都是500

bps(每秒读写数量) 和 cps(每秒IO次数)

--device-read-bps: 限制读某个设备的bps

--device-write-bps: 限制写某个设备的bps

--device-read-iops:限制读某个设备的iops

--device-write-iops:限制写某个设备的iops

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

测试:

time dd if=/dev/zero of=test.out bs=1M count=800 oflag=direct
原文地址:https://www.cnblogs.com/ray-mmss/p/11057794.html