【云计算】docker相关开源项目、工具
十大基于Docker的开发工具
作者 郭蕾 发布于 2014年8月19日 | 注意:QCon全球软件开发大会(北京)2016年4月21-23日,了解更多详情! 1 讨论
随着Docker的发展,Docker的生态圈也越来越成熟,GitHub上出现了很多与Docker相关的开源项目。CenturyLink在其博客上总结了基于Docker的10个开发工具,主要集中在PaaS平台、集群管理、持续集成和Docker的管理工具等四个方面。InfoQ中文站在其基础上进行了整理更新,具体如下。
Flynn Flynn是一个使用Go语言编写的开源PaaS平台,Flynn使用模块化的设计,任何一个模块都可以独立的进行修改、升级和替换。Flynn的目标是简化分布式环境中应用的部署和维护,通过使用
git push命令,Flynn就可以将应用部署到Docker,从而省去了复杂的配置和操作。Flynn的架构大致分为两层,Layer 0是底层的资源层,提供分布式配置、任务调度、服务发现、主机隔离等基础功能;Layer 1基于Layer 0构建了一个用于集群中管理、部署、扩展服务的系统,主要包括管理API/客户端、Git接收器、数据存储、路由。Flynn目前仍在开发中,尚未发布稳定版,但已经获得了很多公司的资助,它被称为是下一代的开源PaaS平台。Deis Deis也是一个支持共有云和私有云的开源PaaS系统,Deis基于Docker和CentOS构建了一个类Heroku的PaaS系统。Deis主要设计用来和不同的云提供商进行交互,目前支持 Rackspace、EC2、 DigitalOcean、Google Compute Engine、Bare-Metal。Deis使用out-of-the-box的方式支持Ruby、Python、Node.js、Java、Clojure、Scala、Play、PHP、Perl、Dart和Go语言,同样支持git push部署。Flynn和Deis都是两个基于Docker的云计算微PaaS技术,关于它们的区别,可以参考这篇文章,作者从架构、实现方式等多方面对二者进行了比较,Deis目前也尚未发布1.0版本,但在GitHub上已经有2000+的star量。
Dokku Dokku是一个迷你版的Heroku,基于Docker使用100行左右的Bash代码编写,简单的安装和配置后,即可使用Git命令将应用部署到本地的Dokku平台(当使用git push命令的时候,Dokku会使用buildpack检测应用,然后再部署)。Dokku实际上相当于一个单机版的Heroku,它包含4个组件,分别是Docker、Buildstep、pluginhook、sshcommand。Dokku目前支持Node.js、Ruby、Python。
CoreOS CoreOS是一种新的、架构体系重新设计的Linux发行版,可以运行在既有的硬件或者云上。CoreOS不提供类似yum或者apt类似的包管理工具,用户不需要在CoreOS中安装软件,而是让程序都在Docker容器中去运行。CoreOS使用systemd和fleet来对容器进行管理,通过etcd进行服务发现和配置信息共享。CoreOS目前风头正劲,目前已经获得融资并于上周宣布收购私有Docker仓库服务商Quay.io,进军企业级的Registry。另外,CoreOS的etcd等组件也获得了社区的认可,并得到了大规模使用。CoreOS已经发布首个稳定版本,目前主流的云服务商都提供了对CoreOS的支持。
Fig Fig是一个基于Docker的用于快速搭建开发环境的工具,目前Fig团队已经加入Docker公司。Fig通过一个配置文件来管理多个Docker容器,非常适合组合使用多个容器进行开发的场景。Fig可以和Docker一起来构建基于Docker的复杂应用,CoreOS的功能强大但是配置比较复杂,而Fig相对而言比较简单,但是很难在多台服务器上做扩展,如何使用Fig构建多个容器的复杂应用并且把这些应用部署到基于CoreOS 的生产环境可以参考这篇文章。从Docker官方收购Fig也可以看到该项目的重要性,Fig目前尚未发布1.0版本。
Atomic Atomic是一个基于Fedora的用于运行Docker容器的原型系统,它从Fedora(在将来可能会是从另一个发行版)获取软件包,并扮演了一个“操作系统二进制文件的Git”的角色,允许对不同集合的软件包进行操作安装,并在它们之间进行原子的整体切换。因为Atomic项目与它的上游的Red Hat产品几乎承载着一样的二进制文件和内核,所以它同样会从上游的工程工作和支持中受益,这成为了它发展过程中的一项绝对优势。Atomic项目目前还没有达到用于生产环境的要求,仍在开发中。
Drone Drone是一个使用Go语言编写的基于Docker的持续集成系统。Drone可以快速提供隔离的虚拟环境编译测试,而且根据需要保留结果,比使用VM更加简洁有效。如何使用 Drone和Docker搭建全功能的CI服务器可以参考此文。使用Drone搭建CI服务器后,代码可以不离开公司网络即可测试,这非常适合大公司的保密原则,另外,由于Drone基于Docker使用,所以部署到生产环境也非常容易。
Kubernetes Kubernetes是来自Google的容器集群管理工具。Kubernetes支持跨平台,它可以在除Google以外的其它云平台中运行,比如AWS。基于Docker之上的Kubernetes可以构建一个容器的调度服务,其目的是让用户通过Kubernetes集群来管理云端容器的集群,而无需用户进行复杂的设置工作。系统会自动选取合适的工作节点来执行具体的容器集群调度处理工作。目前Kubernetes已经得到得到微软、IBM、红帽、CoreOS等公司的支持。
Panamax Panamax是一个CenturyLink开源的Docker管理工具,用户可以把多个Docker容器组合为模板并分享到GitHub。Panamax中的应用是由基于Docker镜像的独立服务组合而成,这些Docker镜像来自Docker Hub或者其它的Docker registry。Web的用户界面允许每个服务可以连接到其他服务,并可以配置环境变量、端口绑定、卷。另外也可以添加自定义的Docker运行命令。当这些服务组合在一起成为一个具备完整功能的应用后就可以作为一个模板保存到GitHub。Panamax的最初版本运行在由Vagrant管理的VirtualBox上,由于Vagrant的限制,目前Panamax仅可运行在Mac和Linux的VirtualBox上,并不支持其他虚拟化平台。CenturyLink的云平台也将会支持Panamax。
Boot2Docker Boot2Docker是一个专为Docker而设计的轻量级Linux发型包,解决Windows或者OS X用户不能安装Docker的问题。Boot2Docker完全运行于内存中,24M大小,启动仅5-6秒。Boot2Docker需要运行在VirtualBox中,具体的安装可以参考官方文档。
另外,为了更好的促进Docker在国内的发展以及传播,InfoQ开设了《深入浅出Docker》专栏,邀请Docker相关的布道师、开发人员、技术专家来讲述Docker的各方面内容。InfoQ希望Docker专栏能帮助读者迅速了解Docker,希望新的技术、新的理念能让更多的人受益。
参考资料:
Docker的集成部署攻略:http://jingyan.baidu.com/article/425e69e6df76bbbe15fc1690.html
十大基于Docker的开发工具:http://www.infoq.com/cn/news/2014/08/top-10-open-source-docker/
Docker Workflow(三):编排工具:http://www.aixchina.net/home/space.php?uid=59140&do=blog&id=135681
Get Panamax:http://panamax.io/get-panamax/
【云计算】docker相关开源项目、工具的更多相关文章
- .NET 文件格式相关开源项目
在过去的2年里,我已确定把文件格式作为我的主要研究课题之一,NPOI就是在这样的研究课题下的产物.尽管从严格意义上讲NPOI只是POI的.NET版本,并不是我创造的,但是在开发过程中,我对OLE2有了 ...
- 关键词提取自动摘要相关开源项目,自动化seo
关键词提取自动摘要相关开源项目 GitHub - hankcs/HanLP: 自然语言处理 中文分词 词性标注 命名实体识别 依存句法分析 关键词提取 自动摘要 短语提取 拼音 简繁转换https:/ ...
- 操作PDF文档功能的相关开源项目探索——iTextSharp 和PDFBox
原文 操作PDF文档功能的相关开源项目探索——iTextSharp 和PDFBox 很久没自己写写心得日志与大家分享了,一方面是自己有点忙,一方面是自己有点懒,没有及时总结.因为实践是经验的来源,总结 ...
- 计算机视觉人脸相关开源项目总结:face_recognition
计算机视觉人脸相关开源项目总结 https://github.com/ageitgey/face_recognition 深度学习人脸关键点检测方法----综述
- hadoop data 相关开源项目(近期学习计划)
计划学习几个hadoop相关的开源项目: 1.spring hadoop 2.spring batch 3.spring redis 4.spring mongo 相关项目样例:https://git ...
- iOS开发资源:推送通知相关开源项目--PushSharp、APNS-PHP以及Pyapns等
PushSharp (github) PushSharp是一个实现了由服务器端向移动客户端推送消息的开源C#库,支持 iOS (iPhone/iPad APNS). Android (C2DM/GC ...
- Android之开源项目工具库篇
本文转自:http://www.trinea.cn/android/android-open-source-projects-dev-lib/ 本文中你可以找到那些精美App中各种有特性的View,如 ...
- CentOS8上用Docker部署开源项目Tcloud
一.安装Docker 1.我是虚拟机装的Centos7,linux 3.10 内核,docker官方说至少3.8以上,建议3.10以上(ubuntu下要linux内核3.8以上) root账户登录,查 ...
- nodeJS 相关开源项目
摘要:NodeJS是一个服务器端JavaScript解释器,它将改变服务器应该如何工作的概念.它的目标是帮助程序员构建高度可伸缩的应用程序,编写能够处理数万条同时连接到一个(只有一个)物理机的连接代码 ...
随机推荐
- 部署openssh服务器
1.安装服务器端软件包 先查看是否已经安装openSSH服务器软件包 # rpm -qa|grep openssh openssh-askpass-.3p1-.el6_6..x86_64 openss ...
- 用IIS配置反向代理
http://my.oschina.net/tanyixiu/blog/123832 目标服务器:targetServer 配置反向代理的服务器:reveseProxServer 1.确定最终访问的网 ...
- guid正则表达
a-fA-F0-9 加上下划线 _ 可以用 \w 来代替. ^\w{8}-(\w{4}-){3}\w{12}$ 如果不可以用下划线, 0-9 用 \d 代替 a-fA-F 就用其中一个 a-f,然后匹 ...
- Spring之FactoryBean
首先要分辨BeanFactory 与 FactoryBean的区别, 两个名字很像,所以容易搞混 BeanFactory: 以Factory结尾,表示它是一个工厂类,是用于管理Bean的一个工厂 Fa ...
- linux命令--dig
dig,和nslookup作用有些类似,都是DNS查询工具,但是却比nslookup强大 dig,其实是一个缩写,即Domain Information Groper. [我想用google-DNS来 ...
- 如何配置virtualBox端口转发
1,第一步登陆虚拟主机,安装openssh-server(这一步非常重要,如果不安装,你在宿主机上怎么链接都是连不上的,我当时就犯了这个错误) apt-get install openssh-serv ...
- Ubuntu 16.10 虚拟机安装记录
一定要选自定义. 这里一定要选 稍后安装操作系统 都是坑! 启动时出现'SMBus Host Controller not enabled'错误提示,进不到图形界面. 解决办法:1.在启动Ubunt ...
- 2013长沙赛区现场赛 J - Josephina and RPG
J - Josephina and RPG Time Limit:2000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I6 ...
- 在PHP中$_SESSION的使用方法
使用PHP应用session时,将session中的数据存储在服务器上,然后通过客户端传来的sessionID识别客户端的信息,并提取信息. php中的session的常用操作:session的写入. ...
- HDU 5651 计算回文串个数问题(有重复的全排列、乘法逆元、费马小定理)
原题: http://acm.hdu.edu.cn/showproblem.php?pid=5651 很容易看出来的是,如果一个字符串中,多于一个字母出现奇数次,则该字符串无法形成回文串,因为不能删减 ...