回想过去短短的5年时间,容器生态系统和整个社区的创新速度值得关注。这样的超速发展非常大程度上由于有开源社区的深度參与。这样的參与度有助于促进持续创新。
当Docker在2013年公布时,社区立刻变得活跃,開始环绕着这样的构建、公布和执行应用程序的新方式。开发者迅速通过不同的途径(贡献者,倡导者等)參与到项目中,非常多新公司的成立形成了一个生态系统,我们今天看到的容器运动诞生了。
自那时起,Docker持续在开源社区中发挥着非常积极的作用,将Docker Engine代码库重构为可重用的组件——包含containerd和BuildKit——创建、维护和贡献了一系列开源项目并帮助它们找到了CNCF(Cloud Native Computing Foundation)和OCI(Open Container Initiative)。
随着容器运动进入成熟期,从Docker中孵化的五个开源项目,将继续改变和塑造今日充满活力的社区和生态系统。而且继续改写未来。
作为Docker Engine中的核心容器执行时。containerd[1]已被数百万用户使用,并被成千上万的公司执行在生产环境。去年,Docker决定将这项技术捐给CNCF。用以推动整个容器生态系统进一步创新,让其它容器系统供应商和容器编排项目(包含Kubernetes,DC/OS等)可以使用相同的核心容器执行时。今年4月,containerd 1.1公布了——最新版本号添加了对Kubernetes Container Runtime Interface(CRI)的支持。同意Kubernetes直接使用它和Docker Engine。
想要优化containerd的镜像构建。集成在Docker Engine中的BuildKit就是一个非常好的选择。BuildKit将作为实验性功能集成在Docker 18.06中,将带来可扩展性和更高的性能。
Docker在2015年捐赠了runC,以帮助形成OCI容器构建和执行时规范。 到2017年,OCI执行时和镜像规范到达1.0版本号。
凭借1.0版本号里程碑,OCI在确保各种实现的容器可移植性方面迈出了一大步。
这反过来又让用户更easy支持可移植性容器解决方式。
本质上,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/