44

Docker孵化的5个开源项目

 5 years ago
source link: http://dockone.io/article/8150?amp%3Butm_medium=referral
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

【编者的话】原文链接 here ,本文主要介绍了Docker孵化的5个开源项目,分别是containerd、BuildKit、runC、Notary和Libnetwork。

回顾过去短短的5年时间,容器生态系统和整个社区的创新速度值得关注。这种超速发展很大程度上因为有开源社区的深度参与。这种参与度有助于促进持续创新。

Docker在2013年发布 时,社区立马变得活跃,开始围绕着这种构建、发布和运行应用程序的新方式。开发人员迅速通过不同的途径(贡献者,倡导者等)参与到项目中,很多新公司的成立形成了一个生态系统,我们今天看到的容器运动诞生了。自那时起,Docker持续在开源社区中发挥着非常积极的作用,将Docker Engine代码库重构为可重用的组件 - 包括containerd和BuildKit - 创建、维护和贡献了一系列开源项目并帮助它们找到了CNCF(Cloud Native Computing Foundation)和OCI(Open Container Initiative)。

随着容器运动进入成熟期,从Docker中孵化的五个开源项目,将继续改变和塑造今日充满活力的社区和生态系统,并且继续改写未来。

containerd

作为Docker Engine中的核心容器运行时, containerd 已被数百万用户使用,并被成千上万的公司运行在生产环境。去年,Docker决定将这项技术捐给CNCF,用以推动整个容器生态系统进一步创新,让其他容器系统供应商和容器编排项目(包括Kubernetes,DC/OS等)能够使用同样的核心容器运行时。今年4月, containerd 1.1 发布了 - 最新版本增加了对Kubernetes Container Runtime Interface(CRI)的支持,允许Kubernetes直接使用它和Docker Engine。

BuildKit

BuildKit 是Docker的最新开源项目,它是Docker Engine中用于构建镜像的部分。它是Docker推出的一个令人兴奋的新项目,其目标是为开发人员提供一个工具包,以一种高效、易于表现且可重复的方式将代码构建成产品。基于其模块化的架构,BuildKit支持许多新功能和改进 - 特别是在性能方面。

想要优化containerd的镜像构建,集成在Docker Engine中的BuildKit就是一个很好的选择。BuildKit将作为实验性功能集成在Docker 18.06中,将带来可扩展性和更高的性能。

runC

runC 是一个轻量级通用容器运行时,用于根据OCI规范构建和运行容器。 runC 由所有容器用于与系统功能交互的管道代码组成,是创建Open Containers Initiative的基础技术。Docker在2015年捐赠了runC,以帮助形成OCI容器构建和运行时规范。 到2017年,OCI运行时和镜像规范到达1.0版本。凭借1.0版本里程碑,OCI在确保各种实现的容器可移植性方面迈出了一大步。这反过来又让用户更容易支持可移植性容器解决方案。

Notary

本质上, Notary 是一个对内容建立高度信任的平台。它通过强大的加密签名来实现这一点,并保证在软件供应链的任何结点未经作者批准的情况下不可修改内容。具备 Docker Content TrustDocker Enterprise Edition 等更高级别的系统可以建立关于内容使用的明确策略。在2017年底,Docker向CNCF捐赠了Notary,使其成为首批受到基金会监督的安全相关项目之一。Notary在生产环境中也被使用,Cloudflare将其集成到用于容器身份引导的PAL工具中。

Libnetwork

Libnetwork 是Docker的一个早期开源项目,它由Go实现,用于连接容器。通过强大的容器网络模型,它为应用程序提供了一致的编程接口和所需的网络抽象。这就允许用户在创建容器后管理容器的网络生命周期。市场上有大量的网络解决方案和广泛的用例,为了在降低复杂性的同时支持所有这些解决方案,Libnetwork为用户提供了一个简单且一致的网络模型。

要查看Moby项目的完整列表并参与其中,请查看 此链接


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK