docker容器通过什么隔离

 2023-12-24  阅读 2  评论 0

摘要:通过什么隔离?容器对进程的隔离主要采用2个技术点来实现:Namespace 技术和Cgroups 技术。 Namespace 技术 Namespace 并不是一个新技术,它是Linux操作系统默认提供的API,包括 PID Namespace、Mount Namespace、IPC Namespace、Network Namespace等等。 以 PID Namespace 为

docker容器通过什么隔离

通过什么隔离?容器对进程的隔离主要采用2个技术点来实现:Namespace 技术和Cgroups 技术。

Namespace 技术

Namespace 并不是一个新技术,它是Linux操作系统默认提供的API,包括 PID Namespace、Mount Namespace、IPC Namespace、Network Namespace等等。

以 PID Namespace 为例,它的功能是可以让我们在创建进程的时候,告诉Linux系统,我们要创建的进程需要一个新的独立进程空间,并且这个进程在这个新的进程空间里的PID=1,也就是说,这个进程只看得到这个新进程空间里的东西,看不到外面宿主机环境里的东西,也看不到其它进程(不过这只是一个,事实上这个进程在宿主机里PID该是什么还是什么,没有变化,只不过在这个进程空间里,该进程以为自己的PID=1)。

另外,Network Namespace 的技术原理也类似,让这个进程只能看到当前Namespace空间里的网络设备,看不到宿主机真实情况。Namespace 技术其实就是修改了应用进程的视觉范围,但应用进程的本质却没有变化。

Cgroups 技术

Cgroup 其功能就是限制进程组所使用的最大资源(这些资源可以是 CPU、内存、磁盘等等)。

Namespace 技术只能改变一下进程组的视觉范围,并不能真实的对资源做出限制。那么为了防止容器(进程)之间互相抢资源,甚至某个容器把宿主机资源全部用完导致其它容器也宕掉的情况发生。因此,必须采用 Cgroup 技术对容器的资源进行限制。

Cgroup 技术也是Linux默认提供的功能,在Linux系统的 /sys/fs/cgroup 下面有一些子目录 cpu、memory等,Cgroup技术提供的功能就是可以基于这些目录实现对这些资源进行限制。Cgroup 对其它内存、磁盘等资源也是采用同样原理做限制。

提示:现在腾讯云新人点击注册然后实名认证后,可以点此一键领取2860元代金券,然后点此进入腾讯云活动页面参加优惠力度非常大的腾讯云3年和5年时长服务器活动,一次性买多年,免得续费贵,这样就可以获得最大的优惠折扣,省钱。

版权声明:xxxxxxxxx;

原文链接:https://lecms.nxtedu.cn/yunzhuji/130916.html

发表评论:

验证码

管理员

  • 内容1196403
  • 积分0
  • 金币0
关于我们
lecms主程序为免费提供使用,使用者不得将本系统应用于任何形式的非法用途,由此产生的一切法律风险,需由使用者自行承担,与本站和开发者无关。一旦使用lecms,表示您即承认您已阅读、理解并同意受此条款的约束,并遵守所有相应法律和法规。
联系方式
电话:
地址:广东省中山市
Email:admin@qq.com
注册登录
注册帐号
登录帐号

Copyright © 2022 LECMS Inc. 保留所有权利。 Powered by LECMS 3.0.3

页面耗时0.1178秒, 内存占用1.65 MB, 访问数据库18次

  • 我要关灯
    我要开灯
  • 客户电话
    lecms

    工作时间:8:00-18:00

    客服电话

    电子邮件

    admin@qq.com

  • 官方微信

    扫码二维码

    获取最新动态

  • 返回顶部