• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      Docker技術實現分析

      2015-05-13 23:45:08陳清金陳存香
      信息通信技術 2015年2期
      關鍵詞:鏡像開源虛擬化

      陳清金 陳存香 張 巖

      1 中國聯(lián)通云數據有限公司 北京 100032

      2 中國聯(lián)合網絡通信有限公司 北京 100033

      隨著互聯(lián)網的迅猛發(fā)展,云計算作為一種商業(yè)計算模式在搜索服務、移動商務、開放協(xié)作等多樣化需求的推動下迅速發(fā)展起來[1]。云計算以動態(tài)的、易擴展等優(yōu)勢提供了虛擬化資源的計算和存儲方式,并受到Google、IBM、Amazon、Microsoft等IT廠商的大力推廣和應用[2]。

      云計算包括基礎設施即服務(Infrastructure as a Service,IaaS),平臺即服務(Platform as a Service,PaaS)和軟件即服務(Software as a Service,SaaS)[3]?;赑aaS平臺,用戶/開發(fā)者可以便捷地開發(fā)和部署應用程序,將應用程序托管在PaaS管理的云基礎設施中,從而節(jié)省大量的平臺搭建和維護工作,并達到縮短開發(fā)周期,降低運維成本的目的[4]。Docker作為輕量級的虛擬化方式,實現了PaaS平臺的高效部署、運行和維護。

      1 研究背景

      PaaS的核心技術之一就是虛擬化。維基百科將虛擬化定義為:虛擬化技術是一種資源管理技術,是將計算機的各種實體資源,如服務器、網絡、內存及存儲等,予以抽象、轉換后呈現出來,打破實體結構間的不可切割的障礙,使用戶可以用比原本的組態(tài)更好的方式來應用這些資源[5]。

      虛擬化主要分為兩大類,即基于硬件的虛擬化和基于軟件的虛擬化。基于軟件的虛擬化分為應用虛擬化和平臺虛擬化。虛擬機(Virtual Machine,VM)技術屬于平臺虛擬化。應用虛擬化可細分為完全虛擬化、硬件輔助虛擬化、部分虛擬化、超虛擬化、操作系統(tǒng)級虛擬化。Docker屬于操作系統(tǒng)級的虛擬化。

      2 Docker技術剖析

      Docker是PaaS提供商dotCloud開源的一個基于LXC的高級容器引擎,基于go語言并遵從Apache2.0協(xié)議[6]。目前,已經有很多相關項目,逐漸形成了Docker生態(tài)圈。Docker自2013年發(fā)布以來,就成為了炙手可熱的PaaS項目。Redhat[7]、Google[8]、IBM[9]、百度[10]、阿里巴巴[11]等都相繼集成了對Docker的支持。

      Docker的最終目的是實現“build、ship and run any app、anywhere”,即通過對應用組件的封裝(Packaging)、分發(fā)、部署、運行等生命周期的管理,達到應用組件級別的“一次封裝,隨處運行”。應用組件包括Web應用、數據庫服務、操作系統(tǒng)或編譯器。

      2.1 Docker體系機構

      Docker是一個客戶/服務器(Client/Server,CS)架構(見圖1)。Docker客戶端是遠程控制器,可通過TCP/REST向Docker Host發(fā)送請求,包括創(chuàng)建容器、運行容器、保存容器、刪除容器等請求。Docker服務端的Daemon對客戶端的請求進行相應的管理,隨后通過driver轉發(fā)至容器中的libcontainer執(zhí)行環(huán)境。libcontainer提供與不同Linux內核隔離的接口,類似命名空間及控制組。這種架構允許多個容器在共享同一個Linux內核的情況下完全隔離地運行。由于Docker容器并不需要專用操作系統(tǒng),因此,實現了輕量級的要求。

      圖1 Docker體系架構

      2.2 Docker關鍵要素

      Docker的核心要素有鏡像(Image)、容器(Container)和倉庫(Registry)。鏡像是一個面向Docker引擎的只讀模板,包含文件系統(tǒng),它是構建容器的基礎。一個鏡像中可以包含完整的操作系統(tǒng)及相應的應用軟件。用戶可以根據需求自己創(chuàng)建或者下載他人創(chuàng)建的鏡像。容器是從鏡像創(chuàng)建的運行實例。鏡像可以理解為構建或打包階段,而容器可理解為啟動或執(zhí)行階段。Registry用來保存用戶創(chuàng)建的鏡像。鏡像來源主要有用戶定制和Docker自有兩種,前者稱為私有Registry,后者稱為公共Registry,也叫做Docker Hub。

      2.3 Docker優(yōu)勢

      Docker虛擬化的主要優(yōu)勢有4個方面。1)簡化服務器遷移帶來的環(huán)境再部署,提高工作效率,并降低部署過程中出現問題的風險系數。2)縮短環(huán)境交付和部署的周期。使用Docker,開發(fā)人員可通過鏡像快速部署開發(fā)環(huán)境,并能在開發(fā)結束后,平滑移交給運維和測試人員。同時,容器的維護相對簡單快捷,節(jié)約開發(fā)、測試、部署時間,可實現快速迭代。3)提高物理資源的利用率。由于Docker容器所占的存儲空間相對較小,同時刪除容器后,相應的文件也會被刪除,這樣可大大提高物理資源的使用率。4)更簡單快捷的迭代策略。Dockersf i le實現了開發(fā)環(huán)境中的配置更新可快速反饋到生產環(huán)境中,實現了自動化的高效管理。

      3 Docker和VM分析比較

      從上述Docker分析中可以發(fā)現VM和Docker存在一定的差異,下面對兩者之間的技術實現和性能進行對比分析。

      3.1 VM和Docker技術實現分析

      Docker中容器停止后,對創(chuàng)建容器時鏡像的初始狀態(tài)所做的操作都會丟失。虛擬機停止后,大部分文件(除去部分臨時文件)不會被刪除。這就使得虛擬機所占的存儲空間遠遠大于Docker。

      Docker可采用標準的IPC機制進行通信,如隧道、Sockets等,虛擬機只能通過以太網的方式進行通信。

      Docker可直接運行于宿主機的內核上,不同容器可以共享同一個Linux內核,虛擬機則需要運行于Hypervisor之上(見圖2)。

      圖2 VM與Docker虛擬化實現方式對比

      3.2 VM和Docker性能分析

      作為一種輕量級的虛擬化方式,Docker在性能上還是略優(yōu)于VM的,具體的性能分析比較見表1。

      表1 Docker與虛擬機性能對比

      從表1中的分析比較可以明顯發(fā)現,利用Docker技術,物理服務器可以承載更多的容器,資源的使用率大大提高,這也是云計算需要達到的真正目的。

      4 Docker與OpenStack結合

      OpenStack是一個旨在為公共及私有云的建設與管理提供軟件的開源項目[12]。該項目得到了AMD、IBM、Intel的青睞。同時,也成為2014年最受關注的開源項目;因此,Docker與OpenStack的結合是未來PaaS平臺發(fā)展的一大趨勢。二者的結合主要基于Heat和Nova兩種,下面分別就這兩種方式進行分析。

      1) Docker與Nova集成。通過driver形式實現了Docker與Openstack的集成(見圖3)。Openstack的Nova中,command和dashboard通過API接口與compute連接,compute與Docker的driver通過API連接,由此實現了二者的關聯(lián)。Docker的registry鏡像以及driver的數據都將反饋給Glance。這個過程中Docker容器當作虛擬機來使用。

      圖3 Docker與Nova集成

      2) Docker與Heat集成(見圖4)。Docker與Nova的集成中將Docker以虛擬機的形式使用,無法發(fā)揮出容器的獨有優(yōu)勢;因此,出現了Heat與Docker的集成方案。Heat通過Plugin API與相應插件關聯(lián),進而通過API或者HTTP關聯(lián)Docker。利用Heat中的插件機制,可實現Openstack部署和管理Docker容器。

      圖4 Docker與Heat集成

      5 總結

      Docker自發(fā)布以來,一直受到業(yè)界的熱捧。這個開源的容器引擎使得開發(fā)者可以通過鏡像打包自己的應用以及運行環(huán)境,實現快速開發(fā)、快速部署、快速迭代。同時,沙箱機制可降低接口之間的數據開銷,提高硬件的資源利用率。但是關于Docker與現有開源架構的研究還需進一步完善。

      參考文獻

      [1]袁璐,李仁發(fā).云環(huán)境下動態(tài)信任模型研究綜述[D/OL].(2010-10-20)[2015-02-02].http://www.paper.edu.cn/html/releasepaper/2010/10/364/

      [2]Daniel Nations.What is Cloud Computing?[EB/OL].[2015-01-05].http://webtrends.about.com/od/enterprise20/a/cloud-computing.htm

      [3]互動百科.云計算[EB/OL].[2015-02-02].http://www.hudong.com/wiki/%E4%BA%91%E8%AE%A1%E7%AE%97

      [4]林琳,滕騰,李偉彬.PaaS的范疇及架構標準化研究[J].信息技術與標準化,2012(10):25-32

      [5]虛擬化技術[EB/OL].[2015-02-02].http://zh.wikipedia.org/wiki/%E8%99%9B%E6%93%AC%E5%8C%96

      [6]Dua,Bangalore,Raja.Virtualization vs Containerization to Support PaaS[J].IEEE,2014,41:610-614

      [7]Red Hat推出專為Docker定制的Linux發(fā)行版[EB/OL].[2015-02-02].http://www.infoq.com/cn/news/2015/03/redhat-docker-linux.2015

      [8]Google擁抱Docker:把互聯(lián)網變成一個巨大的計算機[EB/OL].[2015-2-02].http://www.pingwest.com/google-docker/

      [9]IBM和Docker宣布建立戰(zhàn)略伙伴關系[EB/OL].[2015-02-02].http://www.oschina.net/news/58186/ibm-docker

      [10]國內“BAT”先鋒企業(yè)百度Baidu App Engine(BAE)平臺[EB/OL].[2015-02-02].http://www.xueliedu.com/a/xinwenzixun/2015/0220/280618.html

      [11]Docker周報:阿里云ECS支持Docker[EB/OL].[2015-02-02].http://www.infoq.com/cn/news/2014/10/dockeraliyun-ecs?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global

      [12]誰在掌管著OpenStack項目[EB/OL].[2015-02-02].http://os.51cto.com/art/201111/304714.htm

      猜你喜歡
      鏡像開源虛擬化
      鏡像
      當代黨員(2020年20期)2020-11-06 04:17:52
      五毛錢能買多少頭牛
      基于OpenStack虛擬化網絡管理平臺的設計與實現
      電子制作(2019年10期)2019-06-17 11:45:10
      鏡像
      小康(2018年23期)2018-08-23 06:18:52
      對基于Docker的虛擬化技術的幾點探討
      電子制作(2018年14期)2018-08-21 01:38:20
      虛擬化技術在計算機技術創(chuàng)造中的應用
      電子測試(2017年11期)2017-12-15 08:57:56
      大家說:開源、人工智能及創(chuàng)新
      開源中國開源世界高峰論壇圓桌會議縱論開源與互聯(lián)網+創(chuàng)新2.0
      存儲虛擬化還有優(yōu)勢嗎?
      開源計算機輔助翻譯工具研究
      乌拉特后旗| 会东县| 象山县| 揭东县| 吕梁市| 原平市| 上林县| 海晏县| 佳木斯市| 嘉义市| 乌拉特中旗| 赤水市| 清涧县| 扎鲁特旗| 芒康县| 积石山| 武邑县| 宾川县| 宜良县| 英吉沙县| 织金县| 白河县| 华蓥市| 桃园县| 黑水县| 黄大仙区| 云浮市| 汾阳市| 黑龙江省| 达拉特旗| 栾川县| 诸暨市| 诸城市| 农安县| 西青区| 象州县| 和林格尔县| 尚志市| 吉木萨尔县| 互助| 隆尧县|