280Docker架構模塊介紹2_第1頁
280Docker架構模塊介紹2_第2頁
280Docker架構模塊介紹2_第3頁
280Docker架構模塊介紹2_第4頁
280Docker架構模塊介紹2_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

付費下載

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

Docker架構模塊介紹(二)1任務描述華云數(shù)據(jù)集團基于CloudUltra?私有云為兵工物資集團構建私有云平臺,在保障平臺的高可靠性、高可用性、高安全性的基礎之上,為兵工物資集團提供持續(xù)性、可擴展性、可管理性的服務。和傳統(tǒng)模式相比基礎設施使用率提高了75%以上,數(shù)據(jù)可靠性提高到了99.9%,保證兵工物資集團數(shù)據(jù)安全可控,滿足集團業(yè)務需求。本節(jié)主要講解兵工物資集團構建私有云平臺項目的項目背景詳情目錄Docker架構模塊介紹小結2Docker架構內(nèi)各模塊31.6)DockerRegistryDockerRegistry是一個存儲容器鏡像的倉庫。而容器鏡像是在容器被創(chuàng)建時,被加載用來初始化容器的文件架構與目錄。在Docker的運行過程中,DockerDaemon會與DockerRegistry通信,并實現(xiàn)搜索鏡像、下載鏡像、上傳鏡像三個功能,這三個功能對應的job名稱分別為”search”,”pull”與“push”。其中,在Docker架構中,Docker可以使用公有的DockerRegistry,即大家熟知的DockerHub,如此一來,Docker獲取容器鏡像文件時,必須通過互聯(lián)網(wǎng)訪問DockerHub;同時Docker也允許用戶構建本地私有的DockerRegistry,這樣可以保證容器鏡像的獲取在內(nèi)網(wǎng)完成。Docker架構內(nèi)各模塊41.7)GraphGraph在Docker架構中扮演已下載容器鏡像的保管者,以及已下載容器鏡像之間關系的記錄者。一方面,Graph存儲著本地具有版本信息的文件系統(tǒng)鏡像,另一方面也通過GraphDB記錄著所有文件系統(tǒng)鏡像彼此之間的關系。其中,GraphDB是一個構建在SQLite之上的小型圖數(shù)據(jù)庫,實現(xiàn)了節(jié)點的命名以及節(jié)點之間關聯(lián)關系的記錄。它僅僅實現(xiàn)了大多數(shù)圖數(shù)據(jù)庫所擁有的一個小的子集,但是提供了簡單的接口表示節(jié)點之間的關系。同時在Graph的本地目錄中,關于每一個的容器鏡像,具體存儲的信息有:該容器鏡像的元數(shù)據(jù),容器鏡像的大小信息,以及該容器鏡像所代表的具體rootfs。Docker架構內(nèi)各模塊51.8)DriverDriver是Docker架構中的驅動模塊。通過Driver驅動,Docker可以實現(xiàn)對Docker容器執(zhí)行環(huán)境的定制。由于Docker運行的生命周期中,并非用戶所有的操作都是針對Docker容器的管理,另外還有關于Docker運行信息的獲取,Graph的存儲與記錄等。因此,為了將Docker容器的管理從DockerDaemon內(nèi)部業(yè)務邏輯中區(qū)分開來,設計了Driver層驅動來接管所有這部分請求。GraphdrivernetworkdriverexecdriverDocker架構內(nèi)各模塊61.8)Drivergraphdrivergraphdriver主要用于完成容器鏡像的管理,包括存儲與獲取。即當用戶需要下載指定的容器鏡像時,graphdriver將容器鏡像存儲在本地的指定目錄;同時當用戶需要使用指定的容器鏡像來創(chuàng)建容器的rootfs時,graphdriver從本地鏡像存儲目錄中獲取指定的容器鏡像。在graphdriver的初始化過程之前,有4種文件系統(tǒng)或類文件系統(tǒng)在其內(nèi)部注冊,它們分別是aufs、btrfs、vfs和devmapper。而Docker在初始化之時,通過獲取系統(tǒng)環(huán)境變量”DOCKER_DRIVER”來提取所使用driver的指定類型。而之后所有的graph操作,都使用該driver來執(zhí)行。Docker架構內(nèi)各模塊71.8)Drivernetworkdrivernetworkdriver的用途是完成Docker容器網(wǎng)絡環(huán)境的配置,其中包括Docker啟動時為Docker環(huán)境創(chuàng)建網(wǎng)橋;Docker容器創(chuàng)建時為其創(chuàng)建專屬虛擬網(wǎng)卡設備;以及為Docker容器分配IP、端口并與宿主機做端口映射,設置容器防火墻策略等。Docker架構內(nèi)各模塊81.8)Drivernetworkdriverexecdriver作為Docker容器的執(zhí)行驅動,負責創(chuàng)建容器運行命名空間,負責容器資源使用的統(tǒng)計與限制,負責容器內(nèi)部進程的真正運行等。在execdriver的實現(xiàn)過程中,原先可以使用LXC驅動調用LXC的接口,來操縱容器的配置以及生命周期,而現(xiàn)在execdriver默認使用native驅動,不依賴于LXC。具體體現(xiàn)在Daemon啟動過程中加載的ExecDriverflag參數(shù),該參數(shù)在配置文件已經(jīng)被設為”native”。這可以認為是Docker在1.2版本上一個很大的改變,或者說Docker實現(xiàn)跨平臺的一個先兆。Docker架構內(nèi)各模塊91.9)libcontainerlibcontainer是Docker架構中一個使用Go語言設計實現(xiàn)的庫,設計初衷是希望該庫可以不依靠任何依賴,直接訪問內(nèi)核中與容器相關的API。正是由于libcontainer的存在,Docker可以直接調用libcontainer,而最終操縱容器的namespace、cgroups、apparmor、網(wǎng)絡設備以及防火墻規(guī)則等。這一系列操作的完成都不需要依賴LXC或者其他包。Docker架構內(nèi)各模塊91.10)DockercontainerDockercontainer(Docker容器)是Docker架構中服務交付的最終體現(xiàn)形式。Docker按照用戶的需求與指令,訂制相應的Docker容器:用戶通過指定容器鏡像,使得Docker容器可以自定義rootfs等文件系統(tǒng);用戶通過指定計算資源的配額,使得Docker容器使用指定的計算資源;用戶通過配置網(wǎng)絡及其安全策略,使得Docker容器擁有獨立且安全的網(wǎng)絡環(huán)境;用戶通過指定運行的命令,使得Docker容器執(zhí)行指定的工作。Docker架構內(nèi)各模塊10本節(jié)課對docker內(nèi)部模塊Registry模塊、G

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論