一。Docker的安全优化:
1.当docker创建了一个容器的时候,Docker在后台为容器创建一个独立的命名空间,命名空间提供了最基础也最直接的隔离(/sys/fs/cgroup/cpu/docker)
2.与虚拟化方式相比,通过Linux namespace来实现的隔离不是那么的彻底(时间或者存储可能不彻底,很多内容还是依赖于宿主机)
3.容器只是运行在宿主机的严重特殊的进程,那么多容器之间使用的就还是同一个主机的操作系统内核
4.确保当发生在容器内的资源压力不会影响到本地主机系统和其他容器,它防止拒绝服务攻击(DDoS)方面必不可少
二。Docker的资源限制
Docker和其他的虚拟化不同,因为docker使用的是安全隔离,而不是物理隔离,和系统公用很多内容,系统通过限制docker是通过cgroup的机制,系统当创建了一个docker容器后,会在/sys/fs/cgroup/cpu/docker下对于每一个系统资源都做了一个目录,并且把上层资源进行复制到这个文件,通过这个文件里面的值进行对docker内容的限定
1.限制cpu的使用
docker run --rm -it --name test1 --cpu-period 10000 --cpu-quota 2000 centos:7
cat /sys/fs/cgroup/cpu/docker/容器id/cpu.cfs_quota_us :查看时间调度
cat /sys/fs/cgroup/cpu/docker/容器id/cpu.cfs_period_us :查看时间周期
--cpu-period 10000
:用于设置 CPU CFS(Completely Fair Scheduler