隨著Docker的發(fā)展,Docker的生態(tài)圈也越來越成熟,GitHub上出現(xiàn)了很多與Docker相關(guān)的開源項目。近日,CenturyLink在其博客上總結(jié)了基于Docker的10個開發(fā)工具,主要集中在PaaS平臺、集群管理、持續(xù)集成和Docker的管理工具等四個方面。
1、Flynn
Flynn是一個使用Go語言編寫的開源PaaS平臺,F(xiàn)lynn使用模塊化的設(shè)計,任何一個模塊都可以獨立的進(jìn)行修改、升級和替換。Flynn的目標(biāo)是簡化分布式環(huán)境中應(yīng)用的部署和維護,通過使用git push命令,F(xiàn)lynn就可以將應(yīng)用部署到Docker,從而省去了復(fù)雜的配置和操作。Flynn的架構(gòu)大致分為兩層,Layer 0是底層的資源層,提供分布式配置、任務(wù)調(diào)度、服務(wù)發(fā)現(xiàn)、主機隔離等基礎(chǔ)功能;Layer 1基于Layer 0構(gòu)建了一個用于集群中管理、部署、擴展服務(wù)的系統(tǒng),主要包括管理API/客戶端、Git接收器、數(shù)據(jù)存儲、路由。Flynn目前仍在開發(fā)中,尚未發(fā)布穩(wěn)定版,但已經(jīng)獲得了很多公司的資助,它被稱為是下一代的開源PaaS平臺。
2、Deis
Deis也是一個支持共有云和私有云的開源PaaS系統(tǒng),Deis基于Docker和CentOS構(gòu)建了一個類Heroku的PaaS系統(tǒng)。Deis主要設(shè)計用來和不同的云提供商進(jìn)行交互,目前支持 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技術(shù),關(guān)于它們的區(qū)別,可以參考這篇文章,作者從架構(gòu)、實現(xiàn)方式等多方面對二者進(jìn)行了比較,Deis目前也尚未發(fā)布1.0版本,但在GitHub上已經(jīng)有2000+的star量。
3、Dokku
Dokku是一個迷你版的Heroku,基于Docker使用100行左右的Bash代碼編寫,簡單的安裝和配置后,即可使用Git命令將應(yīng)用部署到本地的Dokku平臺(當(dāng)使用git push命令的時候,Dokku會使用buildpack檢測應(yīng)用,然后再部署)。Dokku實際上相當(dāng)于一個單機版的Heroku,它包含4個組件,分別是Docker、Buildstep、pluginhook、sshcommand。Dokku目前支持Node.js、Ruby、Python。
4、CoreOS
CoreOS是一種新的、架構(gòu)體系重新設(shè)計的Linux發(fā)行版,可以運行在既有的硬件或者云上。CoreOS不提供類似yum或者apt類似的包管理工具,用戶不需要在CoreOS中安裝軟件,而是讓程序都在Docker容器中去運行。CoreOS使用systemd和fleet來對容器進(jìn)行管理,通過etcd進(jìn)行服務(wù)發(fā)現(xiàn)和配置信息共享。CoreOS目前風(fēng)頭正勁,目前已經(jīng)獲得融資并于上周宣布收購私有Docker倉庫服務(wù)商Quay.io,進(jìn)軍企業(yè)級的Registry。另外,CoreOS的etcd等組件也獲得了社區(qū)的認(rèn)可,并得到了大規(guī)模使用。CoreOS已經(jīng)發(fā)布首個穩(wěn)定版本,目前主流的云服務(wù)商都提供了對CoreOS的支持。
5、Fig
Fig是一個基于Docker的用于快速搭建開發(fā)環(huán)境的工具,目前Fig團隊已經(jīng)加入Docker公司。Fig通過一個配置文件來管理多個Docker容器,非常適合組合使用多個容器進(jìn)行開發(fā)的場景。Fig可以和Docker一起來構(gòu)建基于Docker的復(fù)雜應(yīng)用,CoreOS的功能強大但是配置比較復(fù)雜,而Fig相對而言比較簡單,但是很難在多臺服務(wù)器上做擴展,如何使用Fig構(gòu)建多個容器的復(fù)雜應(yīng)用并且把這些應(yīng)用部署到基于CoreOS 的生產(chǎn)環(huán)境可以參考這篇文章。從Docker官方收購Fig也可以看到該項目的重要性,F(xiàn)ig目前尚未發(fā)布1.0版本。
6、Serf
Serf 是一個使用Go語言編寫的去中心化的服務(wù)發(fā)現(xiàn)和編排的解決方案,特點是輕量級和高可用,同時具備容錯的特性。Serf可以運行在Linux、Mac OS X、Windows上,節(jié)點間通過Gossip協(xié)議來通信。Serf是由Vagrant團隊開發(fā)的,Serf和Etcd、ZooKeeper的區(qū)別可以參考此文。如何在Docker中使用Serf可以參考這個教程。
7、Drone
Drone是一個使用Go語言編寫的基于Docker的持續(xù)集成系統(tǒng)。Drone可以快速提供隔離的虛擬環(huán)境編譯測試,而且根據(jù)需要保留結(jié)果,比使用VM更加簡潔有效。如何使用 Drone和Docker搭建全功能的CI服務(wù)器可以參考此文。使用Drone搭建CI服務(wù)器后,代碼可以不離開公司網(wǎng)絡(luò)即可測試,這非常適合大公司的保密原則,另外,由于Drone基于Docker使用,所以部署到生產(chǎn)環(huán)境也非常容易。
8、Shipyard
Shipyard是一個Docker鏡像和容器管理工具,除了基本的鏡像構(gòu)建容器啟動等功能之外,它還具有在瀏覽器中attach到容器的功能,并通過hipache16來進(jìn)行容器之間的連接。同時它也支持跨節(jié)點的Docker管理和容器Metrics采集。
9、Panamax
Panamax是一個CenturyLink開源的Docker管理工具,用戶可以把多個Docker容器組合為模板并分享到GitHub。Panamax中的應(yīng)用是由基于Docker鏡像的獨立服務(wù)組合而成,這些Docker鏡像來自Docker Hub或者其它的Docker registry。Web的用戶界面允許每個服務(wù)可以連接到其他服務(wù),并可以配置環(huán)境變量、端口綁定、卷。另外也可以添加自定義的Docker運行命令。當(dāng)這些服務(wù)組合在一起成為一個具備完整功能的應(yīng)用后就可以作為一個模板保存到GitHub。Panamax的最初版本運行在由Vagrant管理的VirtualBox上,由于Vagrant的限制,目前Panamax僅可運行在Mac和Linux的VirtualBox上,并不支持其他虛擬化平臺。CenturyLink的云平臺也將會支持Panamax。
10、Boot2Docker
Boot2Docker是一個專為Docker而設(shè)計的輕量級Linux發(fā)型包,解決Windows或者OS X用戶不能安裝Docker的問題。Boot2Docker完全運行于內(nèi)存中,24M大小,啟動僅5-6秒。Boot2Docker需要運行在VirtualBox中,具體的安裝可以參考官方文檔。
核心關(guān)注:拓步ERP系統(tǒng)平臺是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標(biāo)題:基于Docker的十大開發(fā)工具
本文網(wǎng)址:http://www.ezxoed.cn/html/consultation/10820615821.html