Docker孵化的5个开源项目
回想过去短短的5年时间,容器生态系统和整个社区的创新速度值得关注。这样的超速发展非常大程度上由于有开源社区的深度參与。这样的參与度有助于促进持续创新。
当Docker在2013年公布时,社区立刻变得活跃,開始环绕着这样的构建、公布和执行应用程序的新方式。开发者迅速通过不同的途径(贡献者,倡导者等)參与到项目中,非常多新公司的成立形成了一个生态系统,我们今天看到的容器运动诞生了。
自那时起,Docker持续在开源社区中发挥着非常积极的作用,将Docker Engine代码库重构为可重用的组件——包含containerd和BuildKit——创建、维护和贡献了一系列开源项目并帮助它们找到了CNCF(Cloud Native Computing Foundation)和OCI(Open Container Initiative)。
随着容器运动进入成熟期,从Docker中孵化的五个开源项目,将继续改变和塑造今日充满活力的社区和生态系统。而且继续改写未来。containerd
https://mmbiz.qpic.cn/mmbiz_png/b2YlTLuGbKDsbJzupnILVFhPtMaRjmvPKYRqTMjibE9pnd8oiawLVrQbOHQe4wBXkBQkzpKCWPKBqWgOLgwccBug/640" alt="640" />
作为Docker Engine中的核心容器执行时。containerd[1]已被数百万用户使用,并被成千上万的公司执行在生产环境。去年,Docker决定将这项技术捐给CNCF。用以推动整个容器生态系统进一步创新,让其它容器系统供应商和容器编排项目(包含Kubernetes,DC/OS等)可以使用相同的核心容器执行时。今年4月,containerd 1.1公布了——最新版本号添加了对Kubernetes Container Runtime Interface(CRI)的支持。同意Kubernetes直接使用它和Docker Engine。
BuildKit
BuildKit[2]是Docker的最新开源项目,它是Docker Engine中用于构建镜像的部分。它是Docker推出的一个令人兴奋的新项目,其目标是为开发者提供一个工具包。以一种高效、易于表现且可反复的方式将代码构建成产品。基于其模块化的架构。BuildKit支持很多新功能和改进——特别是在性能方面。
想要优化containerd的镜像构建。集成在Docker Engine中的BuildKit就是一个非常好的选择。BuildKit将作为实验性功能集成在Docker 18.06中,将带来可扩展性和更高的性能。runC
runC[3]是一个轻量级通用容器执行时,用于依据OCI规范构建和执行容器。runC由全部容器用于与系统功能交互的管道代码组成。是创建Open Containers Initiative的基础技术。
Docker在2015年捐赠了runC,以帮助形成OCI容器构建和执行时规范。 到2017年,OCI执行时和镜像规范到达1.0版本号。
凭借1.0版本号里程碑,OCI在确保各种实现的容器可移植性方面迈出了一大步。
这反过来又让用户更easy支持可移植性容器解决方式。Notary
本质上,Notary[4]是一个对内容建立高度信任的平台。它通过强大的加密签名来实现这一点,并保证在软件供应链的不论什么结点未经作者批准的情况下不可改动内容。具备Docker Content Trust的Docker Enterprise Edition等更高级别的系统可以建立关于内容使用的明白策略。
在2017年底,Docker向CNCF捐赠了Notary,使其成为首批受到基金会监督的安全相关项目之中的一个。Notary在生产环境中也被使用。Cloudflare将其集成到用于容器身份引导的PAL工具中。
Libnetwork
Libnetwork[5]是Docker的一个早期开源项目,它由Go实现,用于连接容器。通过强大的容器网络模型,它为应用程序提供了一致的编程接口和所需的网络抽象。
这就同意用户在创建容器后管理容器的网络生命周期。
市场上有大量的网络解决方式和广泛的用例,为了在减少复杂性的同一时候支持全部这些解决方式。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/
原文链接:https://dzone.com/articles/five-key-open-source-projects-from-docker-for-deve基于Kubernetes的DevOps实践培训
基于Kubernetes的DevOps实践培训将于2018年8月24日在北京开课。3天时间带你系统掌握Kubernetes。本次培训包含:容器特性、镜像、网络;Kubernetes架构、核心组件、基本功能;Kubernetes设计理念、架构设计、基本功能、经常使用对象、设计原则;Kubernetes的数据库、执行时、网络、插件已经落地经验。微服务架构、组件、监控方案等,点击下方图片查看详情。
Docker孵化的5个开源项目的更多相关文章
- springboot+mybatis+thymeleaf+docker构建的个人站点开源项目(集成了个人主页、个人作品、个人博客)
		
前言 My Site 主要功能有:个人首页.个人作品.个人博客为一体的站点,网站的文章和作品均由markdown进行编写,可以满足你的基本需求.如果觉得这个项目不错,请为它点赞支持. 项目架构 JDK ...
 - 分享一个基于 netty 的 java 开源项目
		
1.简介 中微子代理(neutrino-proxy)是一个基于 netty 的.开源的 java 内网穿透项目.遵循 MIT 许可,因此您可以对它进行复制.修改.传播并用于任何个人或商业行为. 2.项 ...
 - 【云计算】docker相关开源项目、工具
		
十大基于Docker的开发工具 作者 郭蕾 发布于 2014年8月19日 | 注意:QCon全球软件开发 ...
 - 从三个开源项目认识OpenFlow交换机 - OVS
		
在SDN/NFV的网络革新技术浪潮的引领下,催生了诸多数据面开源方案的诞生.业界知名度较高的有OVS(Open vSwitch).FD.io (Fast Data I/O).ODP(Open Data ...
 - [转帖]Docker公司被收购,开源界尴尬不?
		
Docker公司被收购,开源界尴尬不? https://news.51cto.com/art/201911/606189.htm Docker公司被谁收了? Docker公司被谁收了?Mirantis ...
 - Github上关于iOS的各种开源项目集合(强烈建议大家收藏,查看,总有一款你需要)
		
下拉刷新 EGOTableViewPullRefresh - 最早的下拉刷新控件. SVPullToRefresh - 下拉刷新控件. MJRefresh - 仅需一行代码就可以为UITableVie ...
 - 淘宝code—— 最给力的国内免费SVN(不限语言),异地团队开发、打造个人开源项目不再是梦
		
相信大家都听说过GitHub,也有很多人在用,但是GitHub毕竟在国外,速度不是很给力,而且安装过程也是很漫长.今天来给大家介绍一个国内的免费的开源项目平台,当然也是一个SVN版本控制器,名字叫ta ...
 - JAVA上百实例源码以及开源项目
		
简介 笔者当初为了学习JAVA,收集了很多经典源码,源码难易程度分为初级.中级.高级等,详情看源码列表,需要的可以直接下载! 这些源码反映了那时那景笔者对未来的盲目,对代码的热情.执着,对IT的憧憬. ...
 - iOS及Mac开源项目和学习资料【超级全面】
		
UI 下拉刷新 EGOTableViewPullRefresh – 最早的下拉刷新控件. SVPullToRefresh – 下拉刷新控件. MJRefresh – 仅需一行代码就可以为UITable ...
 
随机推荐
- BZOJ.2756.[SCOI2012]奇怪的游戏(二分 黑白染色 最大流ISAP)
			
题目链接 \(Description\) \(Solution\) 这种题当然要黑白染色.. 两种颜色的格子数可能相同,也可能差1.记\(n1/n2\)为黑/白格子数,\(s1/s2\)为黑/白格子权 ...
 - [AGC025B]RGB Coloring
			
[AGC025B]RGB Coloring 题目大意: 有\(n(n\le3\times10^5)\)个格子,每个格子可以选择涂成红色.蓝色.绿色或不涂色,三种颜色分别产生\(a,b,a+b(a,b\ ...
 - 我定制的Stylish样式
			
没有办法上传,只好存到这里. 天涯 .atl-con-ft, .js-zhiyin-area, .ds_seat_foot, .hongbao-btn, .dashang-left-btn, .qrc ...
 - 网络编程(1)—TCP
			
java.net 包中提供了两种常见的网络协议的支持: TCP:TCP 是传输控制协议的缩写,它保障了两个应用程序之间的可靠通信.通常用于互联网协议,被称 TCP / IP. TCP协议: 使用TCP ...
 - UDP中使用bind和connect的作用
			
1:UDP中可以使用connect系统调用 2:UDP中connect操作与TCP中connect操作有着本质区别. TCP中调用connect会引起三次握手,client与server建立连结.UD ...
 - Win8下枚举任意进程的句柄表。。。(VB6 Code)
			
添加一个Command1.一个List1,代码: Private Type PROCESS_HANDLE_TABLE_ENTRY_INFO HandleValue As Long HandleCoun ...
 - vue2.0实现倒计时的插件(时间戳 刷新 跳转 都不影响)
			
我发现好多倒计时的插件,刷新都会变成从头再来,于是自己用vue2.0写了一个,测试通过,直接上代码 如下是组件代码: <template> <span :endTime=" ...
 - webservice接口与HTTP接口学习笔记
			
一.webservice 的概念 Web 是使应用程序可以与平台和编程语言无关的方式进行相互通信的一项技术.Web 服务是一个软件接口,它描述了一组可以在网络上通过标准化的 XML 消息传递访问的操作 ...
 - jquery异步ajax与服务器通信过程中如何通过then方法链式传递多层数据
			
我们在有些地方可能需要对服务器返回的参数做多步处理,或者很多复杂的操作必须等到服务器返回结果之后才会执行,那么我们可以用链式调用的then方法让这里做到更加易于扩展,也更加容易分离出各个功能模块.基本 ...
 - Excel分组快速自动填充编号
			
在Excel自动填充很简单,但如果按分组等条件进行填充就有点麻烦了 说麻烦可能是你并没有搞清楚到底如何才能实现你的需求 下图是客户提供的Excel数据,我需要将下面的数据导入到数据库中,因为客户在 ...