docker的安全
容器资源的控制
Linux Control Group :限制进程能够使用资源的上线,cpu,内存,磁盘,网络带宽等
进程的优先级设置,审计,以及将进程挂起和恢复等
cpu 限制的设置
mount -t cgroup #查看挂载的目录
cd /sys/fs/cgroup #查看
Mkdir x1 #创建文件里面自动生成数据继承父系的
cd x1/
cat cpu.cfs_quota_us
echo 20000 > cpu.cfs_quota_us
dd if=/dev/zero of=/dev/null &
将进程的id和x1绑定
docker直接指令
docker run -it --name vm2 --cpu-period 100000 --cpu-quota 20000 ubuntu
/sys/fs/cgroup/cpu/docker/0cf5a085c8ca499f341cf6ff886526ade60acb3fe8a115d3795bfbfc25b2b57b #随机生成的目录
查看
内存限制
容器的可用内存包括两个部分:物理内存和swap交换分区
cd /sys/fs/cgroup/
cd memory/ #内存控制
mkdir x2 #建立新的内存配额
cd x2/
echo 268435456 > memory.limit_in_bytes #设置内存为256M
echo 268435456 > memory.memsw.limit_in_bytes #设置swap分区也为256M,如果不设置则会从swap分区划分
Cd /dev/shm
Block IO 限制
cd /sys/fs/cgroup/
cd blkio/
mkdir x3
cd x3/
```![在这里插入图片描述](https://img-blog.csdnimg.cn/20200205134859926.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2Zhbmd5dWFuMTk5Nw==,size_16,color_FFFFFF,t_70)
```bash
Iops 每秒的操作次数
Fdisk -l
ll dev/sda
echo "8:0 1048576" > blkio.throttle.write_bps_device
cat blkio.throttle.write_bps_device
测试:
cgexec -g blkio:x3 dd if=/dev/zero of=testfile bs=1M count=10 oflag=direct
Docer 指令
docker run -it --name vm1 --device-write-bps /dev/sda:1M ubuntu
dd if=/dev/zero of=testfile bs=1M count=10 oflag=direct