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 ...
随机推荐
- 4513: [Sdoi2016]储能表 数位DP
国际惯例的题面: 听说这题的正解是找什么规律,数位DP是暴力......好的,我就写暴力了QAQ.我们令f[i][la][lb][lc]表示二进制从高到低考虑位数为i(最低位为1),是否顶n上界,是否 ...
- Java并发程序设计(五)JDK并发包之线程复用:线程池
线程复用:线程池 一.为什么需要线程池 为了避免系统频繁地创建和销毁线程,使用线程池让线程进行复用.(即创建线程变成了从线程池中获取空闲线程,销毁线程变成了把线程放回线程池中.) 二.JDK对线程池的 ...
- JavaScript(ES5)使用保留字作函数名
ES5同意直接使用保留字作为属性名.但却不同意直接使用保留字作为函数名 设现有类NSMap,若要给NSMap的原型加delete方法,如 function NSMap(){ } NSMap.proto ...
- Android:Unable to find explicit activity class
写了两个Activity,确定java代码和xml配置文件没问题之后,运行工程,报错: E/AndroidRuntime(10513): FATAL EXCEPTION: main E/Android ...
- 在iOS端如何使用Charles用作http调试
转:http://blog.csdn.net/messageloop3/article/details/9966727 在iOS端如何使用Charles用作http调试 After noticing ...
- AVL树平衡旋转详解
AVL树平衡旋转详解 概述 AVL树又叫做平衡二叉树.前言部分我也有说到,AVL树的前提是二叉排序树(BST或叫做二叉查找树).由于在生成BST树的过程中可能会出现线型树结构,比如插入的顺序是:1, ...
- 【Spark】Spark-架构
Spark-架构 Spark Master at spark://node-01:7077 spark clustermanager_百度搜索 看了之后不再迷糊-Spark多种运行模式 - 简书 Sp ...
- Nginx反向代理WebSocket
http { upstream websocket { server 192.168.1.1:8010; } server { listen 8020; location / { proxy_pass ...
- 设置tomcat 编译文件位置【转】
问题: 将项目发布到tomcat时,发现tomcat的cclasses目录下无任何编译后的文件. 解决方法:设置MyEclipse的文件编译目录即可: http://my.oschina.net/u/ ...
- 拯救安卓手机的数据(无法进入系统只能打开recovery)
这里不得不赞一个谷歌的开放,如果不是这样读取数据就很糟糕了,记得一千带着我的mac本子到苹果店,那个所谓的“天才”就说苹果的数据无法读取,我了个艹,为了避免丢失你必须得准备一个TM.好了废话不多说,进 ...