限制容器使用资源
限制日志文件
--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