44 | 容器:如何理解容器的实现机制?
LMOS
该思维导图由 AI 生成,仅供参考
你好,我是 LMOS。
上节课我带你通过 KVM 技术打开了计算机虚拟化技术的大门,KVM 技术是基于内核的虚拟机,同样的 KVM 和传统的虚拟化技术一样,需要虚拟出一台完整的计算机,对于某些场景来说成本会比较高,其实还有比 KVM 更轻量化的虚拟化技术,也就是今天我们要讲的容器。
这节课我会先带你理解容器的概念,然后把它跟虚拟机作比较,之后为你讲解容器的基础架构跟基础技术,虽然这样安排有点走马观花,但这些内容都是我精选的核心知识,相信会为你以后继续探索容器打下一个良好的基础。
什么是容器
容器的名词源于 container,但不得不说我们再次被翻译坑了。相比“容器”,如果翻译成“集装箱”会更加贴切。为啥这么说呢?
我们先从“可复用”说起,现实里我们如果有一个集装箱的模具和原材料,很容易就能批量生产出多个规格相同的集装箱。从功能角度看,集装箱可以用来打包和隔离物品。不同类型的物品放在不同的集装箱里,这样东西就不会混在一起。
而且,集装箱里的物品在运输过程中不易损坏,具体说就是不管集装箱里装了什么东西,被送到哪里,只要集装箱没破坏,再次开箱时放在里面的东西就是完好无损的。
因此,我们可以这样来理解,容器是这样一种工作模式:轻量、拥有一个模具(镜像),既可以规模生产出多个相同集装箱(运行实例),又可以和外部环境(宿主机)隔离,最终实现对“内容”的打包隔离,方便其运输传送。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
容器技术是一种轻量级的操作系统虚拟化技术,相较于传统的虚拟机技术,容器技术更加节省资源、提升计算机资源利用率。本文深入介绍了容器技术的概念、基础架构和基础技术,以及Linux Namespace和Cgroups的实现原理。容器技术利用Linux Namespace实现资源隔离,通过不同类型的Namespace实现容器的独立运行环境。另外,文章还介绍了Linux Cgroups的作用,可以对一组进程进行资源限制和监控。通过对这些基础能力的介绍,读者可以更好地理解容器技术的实现机制。此外,文章还分析了Docker的基础功能架构,包括客户端、管理进程、镜像仓库等部分,以及容器如何通过各种内核提供的技术的组合运行起来,提供对外访问隔离功能。总的来说,本文通过简洁清晰的语言,深入浅出地介绍了容器技术的概念、对比传统虚拟机、基础架构和基础技术,为读者提供了全面了解容器技术的入门指南。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《操作系统实战 45 讲》,新⼈⾸单¥68
《操作系统实战 45 讲》,新⼈⾸单¥68
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(6)
- 最新
- 精选
- neohope置顶感兴趣的话,其实可以看下这个项目,用bash写的docker,100多行: https://github.com/p8952/bocker
作者回复: 好的 我回头看看
2021-08-245 - pedro持久化使用 Volume。 Volume 的原理其实也简单:容器的根目录需要挂载到宿主机下,然后通过 chroot 改变容器根目录,因此对于 Volume 文件,只需将其挂载到宿主机上对应的容器根目录中,而后容器内部引起的文件变更,也会改变 Volume 文件。
作者回复: 哈哈
2021-08-18210 - Fan在我们启动容器后,一旦容器退出,容器可写层的所有内容都会被删除。那么,如果用户需要持久化容器里的部分数据该怎么办呢? 映射到宿主机上。
作者回复: 是的
2021-08-183 - Zhang再来打个卡
编辑回复: 欢迎!
2023-01-29归属地:河南 - ppd0705subsystem参数那张图是不是有问题? 有重复的内容
作者回复: 什么内容
2022-03-123 - Geek_5d1943nice2023-02-26归属地:贵州
收起评论