容器化的一些名词

容器化技术发展了这么多年,技术变更这么快的年代,最可怕的是,我学了一门技术,立马被淘汰了,所以docker也是,为了保障docker的标准化,做出了一系列的努力。

容器化技术发展了这么多年,技术变更这么快的年代,最可怕的是,我学了一门技术,立马被淘汰了,所以docker也是,为了保障docker的标准化,做出了一系列的努力。

1、Docker & LXC Docker 的第一个执行环境是 LXC,但从版本 0.9 开始 LXC 被 libcontainer 取代。

2、Docker & libcontainer Libcontainer 为 docker 封装了 Linux 提供的基础功能,如 cgroups,namespaces,netlink 和 netfilter 等

3、2015 - Docker & runC

2015 年,docker 发布了 runC,一个轻量级的跨平台的容器运行时。 这基本上就是一个命令行小工具,可以直接利用 libcontainer 运行容器,而无需通过 docker engine。runC 的目标是使标准容器在任何地方都可用。

4、Docker & The Open Containers Initiative(OCI) OCI 是一个轻量级的开放式管理架构,由 docker,CoreOS 和容器行业的其他领导厂商于 2015 年建立。它维护一些项目,如 runC ,还有容器运行时规范和镜像规范。OCI 的目的是围绕容器行业制定标准,比如使用 docker 创建的容器可以在任何其他容器引擎上运行。

5、2016 - Docker & containerd

2016年,Docker 分拆了 containerd,并将其捐赠给了社区。将这个组件分解为一个单独的项目,使得 docker 将容器的管理功能移出 docker 的核心引擎并移入一个单独的守护进程(即 containerd)。

6、Docker Components 分拆完 containerd 后,docker 各组件的关系如下图所示:

attachments-2020-10-JF2mZwag5f8949d5cc710.png

7、Docker 如何运行一个容器?

  1. Docker 引擎创建容器镜像(oci规范)
  2. 将容器映像传递给 containerd
  3. containerd 调用 containerd-shim
  4. containerd-shim 使用 runC 来运行容器
  5. containerd-shim 允许运行时(本例中为 runC)在启动容器后退出

该模型带来的最大好处是在升级 docker 引擎时不会中断容器的运行。

8、2017 - 容器成为主流

2017 年是容器成为主流技术的一年,这就是为什么 docker 在 Linux 之外支持众多平台的原因(Docker for Mac,Docker for Windows,Docker for AWS,GCP 等)。

当容器技术被大众接受后,Docker 公司意识到需要新的生产模型,这就是为什么它开始 Moby 项目。最为go语言开源项目的top3的项目,一开始我也不知道moby项目是做啥了。。。

其实可以发现,在这个百花齐放的操作系统平台上,如何不进行case by case,重复造轮子,就是拆分,通用组件,现成的直接使用就行了。moby就是这个attachments-2020-10-ntjQR3495f8949f4d7ea7.png

相关内容推荐:关于容器化的总结

  • 发表于 2020-10-16 15:21
  • 阅读 ( 18 )

相关问题

0 条评论

请先 登录 后评论
NX小编
NX小编

1158 篇文章

作家榜 »

  1. NX小编 1158 文章
  2. 58沈剑 309 文章
  3. 奈学教育 137 文章
  4. 李希沅 | 奈学教育 36 文章
  5. 江帅帅 | 奈学教育 29 文章
  6. 林淮川 | 奈学教育 12 文章
  7. 科技热点 10 文章
  8. 邱鹏超 2 文章