Docker 底层运行的基本原理

我们平常运行的 Docker 是依靠什么机制进行运行的,什么大法,什么大法?

1. docker

Docker 一种轻量级的虚拟化,是建立在操作性层面的虚拟化。虚拟化的方式有很多,有硬件方式实现的,有一部分实现介于硬件和操作系统之间的,有借助操作系统部分接口的,有完全借助操作系统的,花样繁多,有兴趣的另行查询相关资料进行深入研究。

2. namespace 

Linux 系统提供六种方式的 namespace 为容器的运行提供边界,什么叫边界,就是你的是你的,我的是我的,互不侵犯。只能在这个划定的范围内玩。就像村里每家分一个院子,你可以在院子里
拳打脚踢,飞檐走壁,但不能翻墙去别人家院子折腾,那会挨揍的。namespace 就像六堵墙围住你的区域,画出了你家他家之间的边界,你的天地你做主。


3. cgroups

Linux 系统根据 cgroups 分配一定的资源给你的 container ,资源包括 CPU, 内存,硬盘,网络,诸如此类的底层共用的部分。你光有院子有什么用,喝西北风过日子吗?画饼充饥吗?显然这是
不现实的事情,因此你急迫需要粮食,需要酒肉,这才是生活。这里的 cgroups 的目的就像村里分材米油盐,每户按人口和功劳的比例,分的小麦,大米,猪肉,小烧,花生米。。。
这些基本资源是固定的,这里 cgroup 就是一个分配账单, 你家应该分多少,怎么配置的,做的一个配置表。你家多少小麦,多少大米就是分配那么多,具体你每家怎么吃,不属于村里管了。
cgroups 可以理解为每个 container 定义的一个资源分配策略。

综上所述,我们是共产主义社会,每家每户都有田和地,房和粮,至于你在家里干什么,吃肉,喝酒,聊天,跳舞,搓麻,统统没问题,这些是你 docker 内部的事情,操作系统我只管提供给你
环境和资源配比,剩下的发挥就全看你的了,你们才是 8, 9 点钟的太阳。 docker 们,雄起!

如果您还对我的博文感兴趣,请移步我的博客:

https://blog.csdn.net/freeabc

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值