肖远昊 译 分布式实验室
回顾过去短短的5年时间,容器生态系统和整个社区的创新速度值得关注。这种超速发展很大程度上因为有开源社区的深度参与。这种参与度有助于促进持续创新。
当Docker在2013年发布时,社区立马变得活跃,开始围绕着这种构建、发布和运行应用程序的新方式。开发人员迅速通过不同的途径(贡献者,倡导者等)参与到项目中,很多新公司的成立形成了一个生态系统,我们今天看到的容器运动诞生了。自那时起,Docker持续在开源社区中发挥着非常积极的作用,将Docker Engine代码库重构为可重用的组件——包括containerd和BuildKit——创建、维护和贡献了一系列开源项目并帮助它们找到了CNCF(Cloud Native Computing Foundation)和OCI(Open Container Initiative)。
随着容器运动进入成熟期,从Docker中孵化的五个开源项目,将继续改变和塑造今日充满活力的社区和生态系统,并且继续改写未来。
containerd
作为Docker Engine中的核心容器运行时,containerd[1]已被数百万用户使用,并被成千上万的公司运行在生产环境。去年,Docker决定将这项技术捐给CNCF,用以推动整个容器生态系统进一步创新,让其他容器系统供应商和容器编排项目(包括Kubernetes,DC/OS等)能够使用同样的核心容器运行时。今年4月,containerd 1.1发布了——最新版本增加了对Kubernetes Container Runtime Interface(CRI)的支持,允许Kubernetes直接使用它和Docker Engine。
BuildKit
想要优化containerd的镜像构建,集成在Docker Engine中的BuildKit就是一个很好的选择。BuildKit将作为实验性功能集成在Docker 18.06中,将带来可扩展性和更高的性能。
runC
Notary
本质上,Notary[4]是一个对内容建立高度信任的平台。它通过强大的加密签名来实现这一点,并保证在软件供应链的任何结点未经作者批准的情况下不可修改内容。具备Docker Content Trust的Docker Enterprise Edition等更高级别的系统可以建立关于内容使用的明确策略。在2017年底,Docker向CNCF捐赠了Notary,使其成为首批受到基金会监督的安全相关项目之一。Notary在生产环境中也被使用,Cloudflare将其集成到用于容器身份引导的PAL工具中。
Libnetwork
要查看Moby项目的完整列表并参与其中,请查看此链接[6]。
相关链接:
https://github.com/containerd/containerd
https://blog.docker.com/2018/06/containerd-buildkit-and-value-of-dockerengine/
https://github.com/opencontainers/runc
https://blog.docker.com/2017/10/notary-important-cncf/
https://github.com/docker/libnetwork
https://mobyproject.org/projects/