操作系统实战 45 讲
彭东
网名 LMOS,Intel 傲腾项目关键开发者
65203 人已学习
新⼈⾸单¥68
登录后,你可以任选4讲全文学习
课程目录
已完结/共 60 讲
尝尝鲜:从一个Hello到另一个Hello (2讲)
特别放送 (1讲)
操作系统实战 45 讲
15
15
1.0x
00:00/00:00
登录|注册

44 | 容器:如何理解容器的实现机制?

Cgroups操作示例
Cgroups subsystem
Cgroups核心概念
Namespace的作用
不同类型的Namespace
libcontainer
Docker Driver
Docker Daemon
容器技术的发展前景
容器技术的实现原理
容器技术的基本架构
Linux Cgroups
Linux Namespace
容器管理引擎进程
容器镜像仓库
容器客户端
容器技术轻量化优势
传统虚拟化技术
容器的目的
容器的工作模式
总结与思考
容器基础技术
容器基础架构
容器与虚拟机对比
容器概念
容器技术
容器技术知识关系脑图

该思维导图由 AI 生成,仅供参考

你好,我是 LMOS。
上节课我带你通过 KVM 技术打开了计算机虚拟化技术的大门,KVM 技术是基于内核的虚拟机,同样的 KVM 和传统的虚拟化技术一样,需要虚拟出一台完整的计算机,对于某些场景来说成本会比较高,其实还有比 KVM 更轻量化的虚拟化技术,也就是今天我们要讲的容器。
这节课我会先带你理解容器的概念,然后把它跟虚拟机作比较,之后为你讲解容器的基础架构跟基础技术,虽然这样安排有点走马观花,但这些内容都是我精选的核心知识,相信会为你以后继续探索容器打下一个良好的基础。

什么是容器

容器的名词源于 container,但不得不说我们再次被翻译坑了。相比“容器”,如果翻译成“集装箱”会更加贴切。为啥这么说呢?
我们先从“可复用”说起,现实里我们如果有一个集装箱的模具和原材料,很容易就能批量生产出多个规格相同的集装箱。从功能角度看,集装箱可以用来打包和隔离物品。不同类型的物品放在不同的集装箱里,这样东西就不会混在一起。
而且,集装箱里的物品在运输过程中不易损坏,具体说就是不管集装箱里装了什么东西,被送到哪里,只要集装箱没破坏,再次开箱时放在里面的东西就是完好无损的。
因此,我们可以这样来理解,容器是这样一种工作模式:轻量、拥有一个模具(镜像),既可以规模生产出多个相同集装箱(运行实例),又可以和外部环境(宿主机)隔离,最终实现对“内容”的打包隔离,方便其运输传送
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

容器技术是一种轻量级的操作系统虚拟化技术,相较于传统的虚拟机技术,容器技术更加节省资源、提升计算机资源利用率。本文深入介绍了容器技术的概念、基础架构和基础技术,以及Linux Namespace和Cgroups的实现原理。容器技术利用Linux Namespace实现资源隔离,通过不同类型的Namespace实现容器的独立运行环境。另外,文章还介绍了Linux Cgroups的作用,可以对一组进程进行资源限制和监控。通过对这些基础能力的介绍,读者可以更好地理解容器技术的实现机制。此外,文章还分析了Docker的基础功能架构,包括客户端、管理进程、镜像仓库等部分,以及容器如何通过各种内核提供的技术的组合运行起来,提供对外访问隔离功能。总的来说,本文通过简洁清晰的语言,深入浅出地介绍了容器技术的概念、对比传统虚拟机、基础架构和基础技术,为读者提供了全面了解容器技术的入门指南。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《操作系统实战 45 讲》
新⼈⾸单¥68
立即购买
登录 后留言

全部留言(6)

  • 最新
  • 精选
  • neohope
    置顶
    感兴趣的话,其实可以看下这个项目,用bash写的docker,100多行: https://github.com/p8952/bocker

    作者回复: 好的 我回头看看

    2021-08-24
    5
  • pedro
    持久化使用 Volume。 Volume 的原理其实也简单:容器的根目录需要挂载到宿主机下,然后通过 chroot 改变容器根目录,因此对于 Volume 文件,只需将其挂载到宿主机上对应的容器根目录中,而后容器内部引起的文件变更,也会改变 Volume 文件。

    作者回复: 哈哈

    2021-08-18
    2
    10
  • Fan
    在我们启动容器后,一旦容器退出,容器可写层的所有内容都会被删除。那么,如果用户需要持久化容器里的部分数据该怎么办呢? 映射到宿主机上。

    作者回复: 是的

    2021-08-18
    3
  • Zhang
    再来打个卡

    编辑回复: 欢迎!

    2023-01-29归属地:河南
  • ppd0705
    subsystem参数那张图是不是有问题? 有重复的内容

    作者回复: 什么内容

    2022-03-12
    3
  • Geek_5d1943
    nice
    2023-02-26归属地:贵州
收起评论
显示
设置
留言
6
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部