Docker的内存配额及其安全

2021/7/27 7:07:45

本文主要是介绍Docker的内存配额及其安全,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Docker的内存配额及其安全

  • 一、理解Docker安全
    • 1.命名空间隔离的安全
    • 2.控制组资源控制的安全
    • 3.内核能力机制
    • 4.Docker服务端防护
    • 5.其他安全特性
  • 二、容器资源配置
    • 1.CPU限额
    • 2.内存限制
  • 三.docker安全加固
    • 1.设置特权级运行的容器
    • 2.设置容器白名单

一、理解Docker安全

请添加图片描述

Docker容器的安全性,很大程度上依赖于Linux系统自身,评估Docker的安全性时,主要考虑以下几个方面:

请添加图片描述

1.命名空间隔离的安全

请添加图片描述

请添加图片描述

请添加图片描述

2.控制组资源控制的安全

请添加图片描述
请添加图片描述

3.内核能力机制

请添加图片描述

4.Docker服务端防护

请添加图片描述

5.其他安全特性

请添加图片描述

二、容器资源配置

1.CPU限额

请添加图片描述请添加图片描述
请添加图片描述
cpu_period 和 cpu_quota 这两个参数需要组合使用,用来限制进程在长度为 cpu_period 的一段时间内,只能被分配到总量为 cpu_quota 的 CPU 时间
请添加图片描述

请添加图片描述再添加一个CPU
请添加图片描述

请添加图片描述

测试两个cpu的争抢问题

如果你是两个cpu的话首先先关掉一个cpu
请添加图片描述

请添加图片描述
退出刚才第二次启用的交互,下面我们可以加一个限制cpu的参数,重新进去,再次查看top中cpu占用情况
请添加图片描述
请添加图片描述
请添加图片描述

2.内存限制

容器可用内存包括两个部分:

物理内存和swap交换分区。

docker run -it --memory 200M --memory-swap=200M ubuntu
–memory设置内存使用限额
–memory-swap设置swap交换分区限额

请添加图片描述
下载libcgroup-tools工具
请添加图片描述
请添加图片描述
创建一个用来测试内存的目录x1:
请添加图片描述
我们可以发现,创建好的目录x1里面拥有很多配置文件
因为它直接继承上级目录下的所有文件!
请添加图片描述
请添加图片描述
限制上传的内存最大为200M

请添加图片描述
请添加图片描述

建指定大小的空间,但是我们发现前面已经设置了最大内存为200M,但是创建300M的空间也并不会报错!!

请添加图片描述
请添加图片描述那是因为它占用了我们的swap分区的大小!
我们每次创建一定大小空间之后,用free -m查看一下内存情况就明白了!
我们的mem空间并没有使用有效空间都是1432如下图,但是swap空间使用多了100M,这下刚才的疑惑就解决了!!
请添加图片描述关闭swap分区,再添加300M就会直接报错
请添加图片描述

请添加图片描述报错!!!!
请添加图片描述

三.docker安全加固

利用LXCFS增强docker容器隔离性和资源可见性

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

1.设置特权级运行的容器

请添加图片描述
请添加图片描述

2.设置容器白名单

–cap-add
*–privileged=true 的权限非常大,接近于宿主机的权限,为了防止用户的滥用,需要增加限制,只提供给容器必须的权限
此时Docker 提供了权限白名单的机制,使用–cap-add添加必要的权限。

请添加图片描述
请添加图片描述
请添加图片描述

删除ip:
请添加图片描述



这篇关于Docker的内存配额及其安全的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程