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 ...
随机推荐
- Java 8新特性----Lambda
Lambda 一.如何辨别Lambda表达式 Runnable noArguments = () -> System.out.println("Hello World"); ...
- 在web.xml中添加配置解决hibernate 懒加载异常
在web.xml添加如下,注意:在配置在struts2的拦截器之前,只能解决请求时出现的懒加载异常:如果没有请求,还需要lazy属性的添加(比如过滤器) <!-- 配置Spring的用于解决懒加 ...
- [转]Vmware(vmdk)虚拟机到hyperv(vhd)虚拟机转换
Vmware(vmdk)虚拟机到hyperv(vhd)虚拟机转换 1.关闭Vmware所有虚拟机 2.合并Vmware磁盘 通常磁盘都分开储存 "C:\Program Files (x8 ...
- linux中内存超出后可以这样
http://www.cnblogs.com/hongten/archive/2012/11/16/java_PermGen_space.html
- Java API概述
collection of APIs(Application Programming Interface) java.lang — automatically imported into Java p ...
- javascript鼠标滚动
firefox使用DOMMouseScroll,其他浏览器使用mousewheel当滚动时获取wheelDelta值,firefox使用detail:值为下滚3上滚-3,其他浏览器使用wheelDel ...
- IIS远程发布(Web Deploy)
作为开发人员,我们之前发布应用很可能是拷贝开发环境上发布好的代码文件到应用服务器硬盘中,然后在IIS中部署网站. 但是今天我们讲的是如果直接在我们的开发环境通过VS远程发布网站到应用服务器上,这将极大 ...
- web中ajax跨域与同源文章 from 阮一峰
跨域资源共享 CORS 详解 http://www.ruanyifeng.com/blog/2016/04/cors.html //这个是最明白的..建议看看. http://www.ruanyif ...
- 【CSS Demo】网站页面变灰
让网站所有元素变成灰色调,全浏览器支持,使用了滤镜,比较吃性能,建议作临时方案使用. 实现效果(点击下面的按钮): 这里放一张图片作为效果展示: 其CSS代码如下: body{ -webkit-fil ...
- 【ZH奶酪】为什么Python不需要函数重载?
函数重载的作用是什么? 函数重载主要是为了解决两个问题 可变参数类型 可变参数个数 另外,一个基本的设计原则是,仅仅当两个函数除了参数类型和参数个数不同以外,其功能是完全相同的,此时才使用函数重载,如 ...