GMTC全球大前端技术大会(北京站)门票9折特惠截至本周五,点击立减¥480 了解详情
写点什么

Docker 开源容器运行时组件 Containerd

2017 年 1 月 02 日

不久前,Docker宣布开源他们的容器运行时组件 Containerd (发音是 container-D)。目前的 Containerd 版本是 0.2.4,Docker 计划在 2017 年第二季度基于 Open Container Initiative(OCI)发布 1.0 版本。

Containerd 是一个容器运行时组件,它原本是 Docker 平台的一部分,虽然小巧,但在整个系统里起到很关键的作用。Containerd 被设计成一种低耦合并且很容易与其它工具集成的组件。它在 Docker 1.12 里所处的位置如下图所示:

从图中可以看出,Containerd 提供了一组运行容器的 API。Docker 引擎通过调用 GRPC API 来启动执行进程,随后会启动管理器和执行器来负责监控和运行容器。容器最后通过 runC 来运行,runC 也是 Docker 的另一个开源项目,它实现了 OCI 运行时标准

计划中的 Containerd 1.0 版本将会有所变化,它在 Docker 中的位置将会是如下图所示的样子:

新版的 Containerd 将包含如下特性:

  • 一个分布式的组件,它负责处理到注册中心的推送,无需与特定厂商关联。
  • 一组网络原语,用来创建系统接口和 API,以便管理容器的网络命名空间。
  • 主机级别的镜像和容器文件系统存储。
  • 一组 GRPC API。
  • Prometheus 格式的度量指标 API,用在内部和容器级别的度量指标上。
  • 完全支持 OCI 镜像和 runC 的参考实现。

关于 Containerd 的更多架构细节可以参看 GitHub 主页的内容。

Containerd 是 Docker 开源的众多项目中的新成员,这些项目包括 libcontainer、libnetwork、notary、runC、HyperKit、VPNkit、Datakit、swarmkit 和 Infrakit 等。

此次开源 Containerd,Docker 是希望能够与广大社区和其它各大厂商巨头共同构建一个双赢的结果。正如 Docker CTO Solomon Hykes 所说的那样,“我们迫不及待地要把这个东西贡献出来,因为我们也会因此获得很好的回报,这是一种良性的回馈闭环,这个闭环里的各方都会从中受益”。基于 Containerd,企业可以构建自己的容器管理软件。目前,阿里巴巴、Amazon、Google、Microsoft 和 IBM 等公司的员工已经加入到该项目的贡献者行列。而随着该项目的不断完善,Docker 也将因此得到好处。

为了避免 Containerd 与 Docker 或其它商业实体存在关联,Docke 计划明年把 Containerd 独立出来,并交由中立基金进行管理。


感谢木环对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注 我们。

2017 年 1 月 02 日 18:003913
用户头像

发布了 321 篇内容, 共 111.5 次阅读, 收获喜欢 112 次。

关注

评论

发布
暂无评论
发现更多内容

《学会写作》学习笔记之如何选题

JiangX

28天写作

同城快递架构设计

Mars

如何做到超预期供应

熊斌

28天写作

Reactive Spring实战 -- 响应式Redis交互

binecy

redis Reactive Spring

week10-homework

J

外企时代已经过去?

李忠良

28天写作

GameStop: 究竟发生了什么?

lidaobing

28天写作 逼空

怀着期待开启美好的一天「幻想短篇 23/28」

道伟

28天写作

碎碎念之「创造力可能是新的生产力」

Justin

创意 28天写作 创造性思维

【计算机内功修炼】八:函数运行时在内存中是什么样子?

码农的荒岛求生

高并发 内存 高性能 内存管理 运行时栈帧

VS2019 + Qt Creator 4.11.1 导入Qt源码进行调试记录

Creep

c++ qt

我的电脑嘲讽我!

IT蜗壳-Tango

七日更

技术创业,股权设置的常见“坑” | 视频号28天(24)

赵新龙

28天写作

数据结构和算法学习总结-复杂度分析

Nick

时间复杂度 数据结构与算法 复杂度

读2020年Javascript趋势报告展望ES2020

devpoint

ES2020 构建工具 前端构建

架构师训练营第10周课后作业

万有引力

发布 Go Modules

Rayjun

go go modules

Mybatis【17】-- Mybatis自关联查询一对多查询

秦怀杂货店

数据库 mybatis

我看好数据湖的未来,但不看好数据湖的现在

王知无

大数据 数据湖

创业失败启示录|茶之玄学

青城

28天写作 创业失败启示录 青城

机器学习笔记之:虽然还没明白到底是在干嘛,但竟然还觉得挺有意思的!

Nydia

小产品、连接和生态

孙苏勇

产品 产品定位

week10-总结

J

Elasticsearch document routing 数据路由

escray

elastic 七日更 28天写作 死磕Elasticsearch 60天通过Elastic认证考试

Spring 动态代理时是如何解决循环依赖的?为什么要使用三级缓存?

程序员小航

spring 源码

项目管理知识标准体系

Ian哥

28天写作

管事情的过程,如何聚焦并决策高价值的事?

一笑

管理 优先级队列 28天写作

【Vue2】文本无缝滚动

学习委员

Vue 前端 28天写作

聊聊我的原创维权二三事

架构精进之路

自我思考 七日更 28天写作

2021年,开发者的落日

王知无

大数据

年关将至

luojiahu

Docker开源容器运行时组件Containerd-InfoQ