![docker技術介紹(-一)課件_第1頁](http://file4.renrendoc.com/view/05dfe613a186f326ffd287a5c209905c/05dfe613a186f326ffd287a5c209905c1.gif)
![docker技術介紹(-一)課件_第2頁](http://file4.renrendoc.com/view/05dfe613a186f326ffd287a5c209905c/05dfe613a186f326ffd287a5c209905c2.gif)
![docker技術介紹(-一)課件_第3頁](http://file4.renrendoc.com/view/05dfe613a186f326ffd287a5c209905c/05dfe613a186f326ffd287a5c209905c3.gif)
![docker技術介紹(-一)課件_第4頁](http://file4.renrendoc.com/view/05dfe613a186f326ffd287a5c209905c/05dfe613a186f326ffd287a5c209905c4.gif)
![docker技術介紹(-一)課件_第5頁](http://file4.renrendoc.com/view/05dfe613a186f326ffd287a5c209905c/05dfe613a186f326ffd287a5c209905c5.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
Docker技術介紹(一)信息中心運行維護室畢宏剛1ppt課件Docker技術介紹(一)信息中心運行維護室畢宏剛1ppt1一、Docker案例介紹二、Docker概念介紹三、Docker與虛擬機對比四、Docker應用場景五、Docker的實用性六、Docker基本原理七、Docker基本命令介紹八、Docker調(diào)度工具介紹九、Docker最佳實踐2ppt課件一、Docker案例介紹2ppt課件2精品資料精品資料3你怎么稱呼老師?如果老師最后沒有總結一節(jié)課的重點的難點,你是否會認為老師的教學方法需要改進?你所經(jīng)歷的課堂,是講座式還是討論式?教師的教鞭“不怕太陽曬,也不怕那風雨狂,只怕先生罵我笨,沒有學問無顏見爹娘……”“太陽當空照,花兒對我笑,小鳥說早早早……”docker技術介紹(-一)課件4一、Docker案例介紹眼見為實—2048游戲軟件的搭建5ppt課件一、Docker案例介紹眼見為實—2048游戲軟件的搭建5p56ppt課件6ppt課件6ubuntu@ubuntu:~/dockerfile$sudodockerrun-d-p8016:80two-eightF85f1d378c3aa3d50a4ae4643ef149f7d6650aa880cf4f3183733427c19333afubuntu@ubuntu:~/dockerfile$sudodockerrun-d-p8017:80two-eightubuntu@ubuntu:~/dockerfile$sudodockerrun-d-p8018:80two-eightubuntu@ubuntu:~/dockerfile$sudodockerrun-d-p8019:80two-eight操作命令7ppt課件ubuntu@ubuntu:~/dockerfile$su7實驗結果8ppt課件實驗結果8ppt課件8二、Docker概念介紹什么是容器?什么是Docker?9ppt課件二、Docker概念介紹什么是容器?9ppt課件9隨著整個云計算產(chǎn)業(yè)的演進,繼IaaS和SaaS成為風口和出現(xiàn)爆發(fā)式增長后,接下來PaaS即將迎來風口。在2015年,多家云創(chuàng)業(yè)公司將產(chǎn)品定位轉向了場景化PaaS,諸如即時通訊PaaS云智能語音PaaS云物聯(lián)網(wǎng)PaaS云存儲PaaS云基于Docker的PaaS平臺10ppt課件隨著整個云計算產(chǎn)業(yè)的演進,繼IaaS和SaaS成為風101960年之前的貨運情況11ppt課件1960年之前的貨運情況11ppt課件11通過集裝箱的運貨方式(1960年之后)12ppt課件通過集裝箱的運貨方式(1960年之后)12ppt課件1213ppt課件13ppt課件13基于Docker的軟件開發(fā)、運維14ppt課件基于Docker的軟件開發(fā)、運維14ppt課件14Docker基于容器技術的輕量級虛擬化解決方案Docker是容器引擎,把Linux的cgroup、namespace等容器底層技術進行封裝抽象,為用戶提供了創(chuàng)建和管理容器的便捷界面(包括命令行和API)Docker是一個開源項目,誕生于2013年初,基于Google公司推出的Go語言實現(xiàn)微軟,紅帽Linux,IBM,Oracle等主流IT廠商已經(jīng)在自己的產(chǎn)品里增加對Docker的支持。Google每周啟動超過20億個容器進行業(yè)務服務,于上個世紀90年代已經(jīng)開始大規(guī)模使用容器技術15ppt課件Docker基于容器技術的輕量級虛擬化解決方案15ppt課件15
物理容器Docker內(nèi)容無關性相同的集裝箱可以容納幾乎任何類型的貨物
可以封裝任何有效負載及其依賴項硬件無關性同一標準的容器允許把貨物從船上運輸?shù)交疖?、卡車上,直到運輸?shù)絺}庫,整個過程無需整理貨物或打開容器使用操作系統(tǒng)基元(例如:LXC)幾乎可以在任何平臺上運行——虛擬機、裸機、OpenStack、公共IaaS等,并且無需修改內(nèi)容隔離和交互無需擔心鐵壓在香蕉上,容器可以堆積運輸資源、網(wǎng)絡和內(nèi)容隔離,避免依賴
Docker主要功能特征16ppt課件
物理容器Docker內(nèi)容無關性相同的集裝箱可以容納幾乎任何16
物理容器Docker自動化標準的接口使其易于實現(xiàn)自動化裝卸、搬運等運行、啟動、停止、提交、搜索等都有標準的操作,非常適合devops:CI、CD、自動擴展、混合云高效無需打開或修改,可以在起始兩地快速地移動/運輸
輕量級,可以進行快速移動和操作
職責分離
托運人擔心盒子內(nèi)部、承運人擔心盒子外部
開發(fā)人員擔心代碼,運營人員擔心基礎設施
17ppt課件
物理容器Docker自動化標準的接口使其易于實現(xiàn)自動化裝卸17docker容器,軟件運行的單元(例如tomcat、mysql軟件)18ppt課件docker容器,軟件運行的單元(例如tomcat、mysq18阿里云平臺百度云平臺容器跨云平臺遷移19ppt課件阿里云平臺百度云平臺容器跨云平臺遷移19ppt課件19容器介紹Container(容器)技術其實早在多年前就出現(xiàn)了。從2005年的SolarisContainers到2008年LXC0.1版本的推出。再到后來的Google推出開源的容器管理工具lmctfy,也將近經(jīng)歷了10年的發(fā)展。它僅僅只是一個虛擬化的技術,相比KVM,XEM沒有太多的優(yōu)勢。直到2013年,Docker的出現(xiàn)。才代表著容器技術一個新的時代的來臨。20ppt課件容器介紹Container(容器)技術其實早在多年前就出現(xiàn)了20從技術角度看,傳統(tǒng)容器只解決了容器執(zhí)行(run)問題,而Docker定義了一套容器構建(build)分發(fā)(ship)執(zhí)行(run)容器Container鏡像images倉庫Repositories執(zhí)行構建分發(fā)21ppt課件從技術角度看,傳統(tǒng)容器只解決了容器執(zhí)行(run)問題,而Do21ClientDocker_host1Registry(倉庫)DockerrunDockerpushDockerpullDockerengine容器鏡像DockerbuildDocker_host2Dockerengine鏡像容器22ppt課件ClientDocker_host1Registry(倉庫)22三、Docker與虛擬機對比虛擬機和Docker有什么區(qū)別?23ppt課件三、Docker與虛擬機對比虛擬機和Docker有什么區(qū)別?2324ppt課件24ppt課件24作為一種輕量級的虛擬化方式,Docker在運行應用上跟傳統(tǒng)的虛擬機方式相比具有顯著優(yōu)勢:
Docker容器很快,啟動和停止可以在秒級實現(xiàn),這相比傳統(tǒng)的虛擬機方式要快得多。
Docker容器對系統(tǒng)資源需求很少,一臺主機上可以同時運行數(shù)千個Docker容器。
Docker通過類似Git的操作來方便用戶獲取、分發(fā)和更新應用鏡像,指令簡明,學習成本較低。
Docker--輕量級虛擬化容器技術25ppt課件作為一種輕量級的虛擬化方式,Docker在運行應用上跟傳統(tǒng)的25Docker通過Dockerfile配置文件來支持靈活的自動化創(chuàng)建和部署機制,提高工作效率。
Docker容器除了運行其中的應用之外,基本不消耗額外的系統(tǒng)資源,保證應用性能的同時,盡量減小系統(tǒng)開銷。傳統(tǒng)虛擬機方式運行N個不同的應用就要啟動N個虛擬機(每個虛擬機需要單獨分配獨占的內(nèi)存、磁盤等資源),而Docker只需要啟動N個隔離的容器,并將應用放到容器內(nèi)即可。
Docker--輕量級虛擬化容器技術26ppt課件Docker通過Dockerfile配置文件來支持靈活的自動26Docker虛擬機啟動速度秒級分鐘級復雜度基于內(nèi)核的namespace技術,對現(xiàn)有基礎設施的侵入較少部署復雜度較高,并且很多基礎設施不兼容執(zhí)行性能在內(nèi)核中實現(xiàn),所以性能幾乎與原生一致對比內(nèi)核級實現(xiàn),性能較差可控性依賴簡單,與進程無本質(zhì)區(qū)別依賴復雜,并且存在跨部門問題體積與業(yè)務代碼發(fā)布版本大小相當MB級別GB級別并發(fā)性可以啟動幾百幾千個容器最多幾十個虛擬機資源利用率高低特點對比27ppt課件Docker虛擬機啟動速度秒級分鐘級復雜度基于內(nèi)核的name27以下的數(shù)據(jù)均是在IBMx3650M4服務器測得,其主要的硬件參數(shù)是:
(1)2顆英特爾xeonE5-2655處理器,主頻2.4-3.0GHz。每顆處理器有8個核,因此總共有16個核。
(2)256GBRAM.
在測試中是通過運算Linpack程序來獲得計算能力數(shù)據(jù)的。結果如下圖所示:
性能對比28ppt課件以下的數(shù)據(jù)均是在IBMx3650M4服務器測得,其主要的28
1.資源隔離方面不如虛擬機,docker是利用cgroup實現(xiàn)資源限制的,只能限制資源消耗的最大值,而不能隔絕其他程序占用自己的資源。
2.安全性問題。docker目前并不能分辨具體執(zhí)行指令的用戶,只要一個用戶擁有執(zhí)行docker的權限,那么他就可以對docker的容器進行所有操作,不管該容器是否是由該用戶創(chuàng)建。比如A和B都擁有執(zhí)行docker的權限,由于docker的server端并不會具體判斷dockerclient是由哪個用戶發(fā)起的,A可以刪除B創(chuàng)建的容器,存在一定的安全風險。
3.docker目前還在版本的快速更新中,細節(jié)功能調(diào)整比較大。一些核心模塊依賴于高版本內(nèi)核,存在版本兼容問題
Docker相對虛擬機不足之處29ppt課件
1.資源隔離方面不如虛擬機,docker是利用cgrou29有些激進的言論聲稱Docker將是現(xiàn)有虛擬機技術的終結者,個人覺得此言論有些浮夸了。Docker是面向應用的,其終極目標是構建PAAS平臺,而現(xiàn)有虛擬機主要目的是提供一個靈活的計算資源池,是面向架構的,其終極目標是構建一個IAAS,或者是SDDC(SoftwareDefinedDataCenter軟件定義的數(shù)據(jù)中心)。
并且,兩者相輔相成。Docker的老東家dotCloud的PAAS服務便基于Amazon的AWS服務,因此,虛擬機是Docker的土壤,而Docker則向用戶展現(xiàn)了業(yè)務。結論30ppt課件有些激進的言論聲稱Docker將是現(xiàn)有虛擬機技術的終結者,個30四、Docker應用場景Docker怎么用?31ppt課件四、Docker應用場景Docker怎么用?31ppt課件31?對應用進行自動打包和部署(Automatingthepackaginganddeploymentofapplications)
Docker對于應用依賴封裝完整,同一鏡像可重復的在測試、集成、生產(chǎn)等環(huán)境部署,做到“一次構建,處處運行”,適用于持續(xù)集成、持續(xù)部署流程。32ppt課件?對應用進行自動打包和部署(Automatingthep32?創(chuàng)建輕量、私有的PAAS環(huán)境(Creationoflightweight,privatePAASenvironments)
33ppt課件?創(chuàng)建輕量、私有的PAAS環(huán)境(Creationofl33?自動化測試和持續(xù)整合與部署(Automatedtestingandcontinuousintegration/deployment)搭建開發(fā)環(huán)境安裝web容器安裝數(shù)據(jù)庫分配網(wǎng)絡開發(fā)測試編碼測試安裝web容器安裝數(shù)據(jù)庫分配網(wǎng)絡上線生產(chǎn)搭建開發(fā)環(huán)境安裝web容器安裝數(shù)據(jù)庫分配網(wǎng)絡SAP測試環(huán)境安裝SAP系統(tǒng)測試安裝SAP系統(tǒng)生產(chǎn)SAP生產(chǎn)環(huán)境SAP開發(fā)環(huán)境安裝SAP系統(tǒng)開發(fā)共享NFS文件系統(tǒng)版本管理傳輸傳輸傳統(tǒng)型軟件開發(fā)、測試、上線過程34ppt課件?自動化測試和持續(xù)整合與部署(Automatedtesti341、資源利用效率低2、單物理機多應用無法有效隔離(進程空間,cpu資源,磁盤)3、運維部署不便4、測試、版本管理復雜5、遷移成本高6、傳統(tǒng)虛擬機,空間占用大,啟動慢,管理復雜傳統(tǒng)型軟件開發(fā)、測試、上線過程不足之處35ppt課件1、資源利用效率低傳統(tǒng)型軟件開發(fā)、測試、上線過程不足之處3535Docker倉庫群開發(fā)(本地)獲取鏡像開發(fā)測試提交倉庫測試機(公用)獲取鏡像驗證測試生產(chǎn)機集群獲取鏡像部署備份以Docker為單位的開發(fā)部署流程設計36ppt課件Docker倉庫群開發(fā)(本地)獲取鏡像開發(fā)測試提交倉庫測試機36以docker為單位的開發(fā)測試部署流程,簡化了環(huán)境搭建的步驟,提高了資源利用效率和開發(fā)測試部署的速度,降低了遷移的成本更快速的交付和部署。使用Docker,開發(fā)人員可以使用鏡像來快速構建一套標準的開發(fā)環(huán)境;開發(fā)完成之后,測試和運維人員可以直接使用相同環(huán)境來部署代碼。Docker可以快速創(chuàng)建和刪除容器,實現(xiàn)快速迭代,大量節(jié)約開發(fā)、測試、部署的時間。并且,各個步驟都有明確的配置和操作,整個過程全程可見,使團隊更容易理解應用的創(chuàng)建和工作過程。37ppt課件以docker為單位的開發(fā)測試部署流程,簡化了環(huán)境搭建的步驟37?部署和擴展Web應用、數(shù)據(jù)庫和后端服務(Deployingandscalingwebapps,databasesandbackendservices)案例:微博紅包羊年春晚Docker集群成功的為1.02億用戶刷微博、搶紅包提供了可靠的服務。微博平臺Docker集群的規(guī)模情況:Docker集群規(guī)模達到1000+節(jié)點QPS(每秒查詢率)峰值達到800K/s4個9的服務SLA達到150ms共覆蓋23個核心服務春晚共調(diào)度近300節(jié)點完成動態(tài)擴容38ppt課件?部署和擴展Web應用、數(shù)據(jù)庫和后端服務(Deployin38由此可見,Docker的目的是讓用戶用簡單的“集裝箱”方式,快速的部署大量的、標準化的應用運行環(huán)境,所以,只要是這類的需求,Docker都比較適合。結論39ppt課件由此可見,Docker的目的是讓用戶用簡單的“集裝箱”方式,39五、Docker的實用性成熟度、適用性Docker能在企業(yè)里面用么?1、穩(wěn)定性2、可管理性3、業(yè)務高可用和可恢復能力40ppt課件五、Docker的實用性成熟度、適用性1、穩(wěn)定性40ppt課40從穩(wěn)定性上看,Docker在2015年6月10日發(fā)布了1.0版本,把該版本稱為一個“里程碑”,并聲稱“1.0的發(fā)布表明在質(zhì)量、功能完整、后臺兼容和API穩(wěn)定性方面已經(jīng)提升了一個級別,達到企業(yè)IT標準”。但在此之前,dotCloud一直警告用戶“不要在生產(chǎn)環(huán)境中運行Docker”,在RHEL7中,Docker的版本為0.11.1,這是1.0發(fā)布前的RC版本,雖然紅帽會將之后的Docker更新和補丁修復更新到0.11版本中,目前Docker的版本是1.9版本。但是,企業(yè)客戶在使用這樣一個較新的軟件版本時,仍需承擔不小的穩(wěn)定性風險的。而在很多企業(yè)客戶的軟件版本選擇規(guī)范上,都有“需采用已經(jīng)發(fā)布超過半年的穩(wěn)定版本”的要求。
穩(wěn)定性41ppt課件從穩(wěn)定性上看,Docker在2015年6月10日發(fā)布了1.041可管理性方面,企業(yè)的IT運維人員需要所使用的軟件具有很好的可視化管理能力,并且具有可行的監(jiān)控手段。
Docker目前的集中化管理主要有DockerUI、Dockland、Shipyard等Docker的主要作用是應用的發(fā)布和運行,但是,看起來Shipyard在Application的管理上還很粗糙,并且,整個管理思路并不是以應用為中心的,這可能會給企業(yè)在集中管理Docker的時候,帶來了一定的“麻煩”。
而監(jiān)控的主要目的是快速了解系統(tǒng)、運行的建康狀況,對風險狀態(tài)進行告警,這方面,Docker較為缺乏,還需要企業(yè)針對相關環(huán)境進行定制化的監(jiān)控實現(xiàn)。
可管理性42ppt課件可管理性方面,企業(yè)的IT運維人員需要所使用的軟件具有很好的可42在企業(yè)中任何一個業(yè)務都是需要高度可用的,因此,企業(yè)業(yè)務平臺都要考慮三個事情:本地高可用、數(shù)據(jù)備份、遠程災難恢復。
當然,在使用Docker的時候,也許需要從另一個角度考慮問題,在Docker的應用場景中,提倡“無狀態(tài)”應用,也就是說,業(yè)務數(shù)據(jù)僅在數(shù)據(jù)層進行存儲,而業(yè)務層不關注任何數(shù)據(jù)。業(yè)務層的高可用就可以通過快速的重新部署來實現(xiàn),數(shù)據(jù)層仍然采用傳統(tǒng)模式,或者借助于傳統(tǒng)的方式實現(xiàn)高可用和可恢復性。但這需要時間進行方案摸索和驗證,其可行性和可靠性需要時間來去證明。業(yè)務高可用和可恢復性43ppt課件在企業(yè)中任何一個業(yè)務都是需要高度可用的,因此,企業(yè)業(yè)務平臺都43綜上所述,Docker到大規(guī)模的企業(yè)環(huán)境應用還有不少的路要走,但是,它所帶來的便利性仍然不可小視,這將是革命性的改變,“不足”換種說法就是“機會”,這需要大量了解企業(yè)業(yè)務的合作伙伴圍繞Docker推出相應的解決方案,而Docker的開放性給這種努力帶來了極大的便利性。
而對于企業(yè)來說,Docker對開發(fā)、測試團隊帶來的便利性非常巨大,而開發(fā)、測試環(huán)境對之上所討論到的缺點并不關注,所以,在開發(fā)、測試團隊大膽的推廣、使用Docker無疑能夠獲得極大的收益。44ppt課件綜上所述,Docker到大規(guī)模的企業(yè)環(huán)境應用還有不少的路要走44六、Docker基本原理基本概念及基本原理45ppt課件六、Docker基本原理基本概念及基本原理45ppt課件45基本概念(三大核心)容器Container鏡像images倉庫RepositoriesdockerHub(publicregistry)Docker-registry(privateregistry)執(zhí)行構建分發(fā)46ppt課件基本概念(三大核心)容器鏡像倉庫dockerHubDock46Docker的鏡像類似虛擬機的模板,但是更輕量例如:一個鏡像可以包含一個完整的Linux操作系統(tǒng)環(huán)境,里面僅安裝了Tomcat或用戶需要的其它應用程序鏡像可以用來創(chuàng)建容器鏡像47ppt課件Docker的鏡像類似虛擬機的模板,但是更輕量鏡像47pp47等同于從模板中創(chuàng)建虛擬機容器是從鏡像創(chuàng)建的運行實例。它可以被啟動、開始、停止、刪除。每個容器都是相互隔離的、保證安全的平臺??梢园讶萜骺醋鍪且粋€簡易版的Linux環(huán)境(包括root用戶權限、進程空間、用戶空間和網(wǎng)絡空間等)和運行在其中的應用程序。容器48ppt課件等同于從模板中創(chuàng)建虛擬機容器48ppt課件48鏡像#0Linux+tomcat容器#1Linux+tomcat容器#2Linux+tomcat容器#3Linux+tomcat從同一個鏡像啟動多個容器49ppt課件鏡像#0容器#1容器#2容器#3從同一個鏡像啟動多個49容器端口映射主機鏡像名稱:image:01鏡像ID:e7fig83jgf8Linux+tomcat鏡像名稱:image:02鏡像ID:v8fkfg8gkdLinux+oracle容器名稱:myapp1容器ID:44adg8d9mdfport:8080port:80容器名稱:myapp_db容器ID:35gif8jr9fgnhkfport:1521port:1521容器名稱:myapp2容器ID:9gjd8jd9gkdh9gport:8081port:8050ppt課件容器端口映射主機鏡像名稱:image:01鏡像名稱:imag50倉庫是集中存放鏡像文件的場所倉庫注冊服務器上往往存放著多個倉庫,每個倉庫中又包含了多個鏡像,每個鏡像有不同的標簽倉庫分為公開倉庫(Public)和私有倉庫(Private)兩種形式push鏡像到倉庫,從倉庫pull下鏡像pushpull主機主機倉庫及倉庫注冊服務器51ppt課件倉庫是集中存放鏡像文件的場所pushpull主機主機倉庫及倉51pid-進程net-網(wǎng)絡ipc-消息mnt-文件系統(tǒng)uts-分時user-用戶容器Namespace資源隔離LinuxKernelrootnamespaceinitpid=1initpid=2bashpid=3bashpid=4Xnamespaceinitpid=1bashpid=252ppt課件pid-進程容器Namespace資源隔離LinuxKe52文件系統(tǒng)是如何工作的Docker鏡像被存儲在一系列的只讀層。當我們開啟一個容器,Docker讀取只讀鏡像并添加一個讀寫層在頂部。如果正在運行的容器修改了現(xiàn)有的文件,該文件將被拷貝出底層的只讀層到最頂層的讀寫層。在讀寫層中的舊版本文件隱藏于該文件之下,但并沒有被不破壞-它仍然存在于鏡像以下。當Docker的容器被刪除,然后重新啟動鏡像時,將開啟一個沒有任何更改的新的容器-這些更改會丟失。此只讀層及在頂部的讀寫層的組合被Docker稱為
UnionFileSystem(聯(lián)合文件系統(tǒng))。
53ppt課件文件系統(tǒng)是如何工作的Docker鏡像被存儲在一系列53Docker鏡像位于bootfs之上每一層鏡像的下面一層稱為其父鏡像(父子關系)第一層鏡像為BaseImage容器在最頂層其下的所有層都為readonlyDocker將readonly的FS層稱作"image"DockerAUFS特性54ppt課件Docker鏡像位于bootfs之上DockerAUFS特54七、Docker基本命令介紹Docker怎么操作?55ppt課件七、Docker基本命令介紹Docker怎么操作?55ppt55基本命令下載image$dockerpullimage_name列出鏡像列表;$dockerimages在容器中運行"echo"命令,輸出"helloword"$dockerrunimage_nameecho"helloword“56ppt課件基本命令下載image56ppt課件56列出當前所有正在運行的container
$dockerps利用dockerfile建立新的鏡像$dockerbuild-timage_nameDockerfile_path發(fā)布docker鏡像
$dockerpushnew_image_name基本命令57ppt課件列出當前所有正在運行的container基本命令57ppt57列出當前所有正在運行的container
$dockerps利用dockerfile建立新的鏡像$dockerbuild-timage_nameDockerfile_path發(fā)布docker鏡像
$dockerpushnew_image_name基本命令58ppt課件列出當前所有正在運行的container基本命令58ppt58列出當前所有正在運行的container
$dockerps利用dockerfile建立新的鏡像$dockerbuild-timage_nameDockerfile_path發(fā)布docker鏡像
$dockerpushnew_image_name基本命令59ppt課件列出當前所有正在運行的container基本命令59ppt59操作案例1、新建dockerfile文件2、使用dockerfile創(chuàng)建新鏡像3、新建新容器ubuntu@ubuntu:~$mkdirdockerfileubuntu@ubuntu:~$cddockerfileubuntu@ubuntu:~/dockerfile$vidockerfile60ppt課件操作案例1、新建dockerfile文件60ppt課件60容器介紹ubuntu@ubuntu:~$mkdirdockerfileubuntu@ubuntu:~$cddockerfileubuntu@ubuntu:~/dockerfile$vidockerfile61ppt課件容器介紹ubuntu@ubuntu:~$mkdirdoc61FROMubuntu:12.04RUNapt-getupdateRUNapt-getinstall-ynginxzipcurlRUNecho"daemonoff;">>/etc/nginx/nginx.confRUNcurl-o/usr/share/nginx/www/master.zip-L/gabrielecirulli/2048/zip/masterRUNcd/usr/share/nginx/www/&&unzipmaster.zip&&mv2048-master/*.&&rm-rf2048-mastermaster.zipEXPOSE80CMD["/usr/sbin/nginx","-c","/etc/nginx/nginx.conf"]腳本介紹基于ubuntu12.04,先來一個更新,然后安裝nginx、zip、curl,配置nginx,下載2048代碼,解壓再放到指定位置,刪除原始文件,拋出80端口,最后是執(zhí)行命令。62ppt課件FROMubuntu:12.04腳本介紹基于ubuntu162ubuntu@ubuntu:~/dockerfile$sudodockerbuild-ttwo-eight.SendingbuildcontexttoDockerdaemon2.048kBSendingbuildcontexttoDockerdaemonStep0:FROMubuntu:12.04--->5c97af892079Step1:RUNapt-getupdate--->Usingcache--->c327c23fca5cStep2:RUNapt-getinstall-ynginxzipcurl--->Usingcache--->672d58dcb0a3Step3:RUNecho"daemonoff;">>/etc/nginx/nginx.conf--->Usingcache--->dc4b8f42854c執(zhí)行腳本63ppt課件ubuntu@ubuntu:~/dockerfile$su63Step4:RUNcurl-o/usr/share/nginx/www/master.zip-L/gabrielecirulli/2048/zip/master--->Usingcache--->a73692e9d747Step5:RUNcd/usr/share/nginx/www/&&unzipmaster.zip&&mv2048-master/*.&&rm-rf2048-mastermaster.zip--->Usingcache--->c454b6cfda95Step6:EXPOSE80--->Usingcache--->90a36ee1a682Step7:CMD/usr/sbin/nginx-c/etc/nginx/nginx.conf--->Usingcache--->ab656c34b790Successfullybuiltab656c34b79064ppt課件Step4:RUNcurl-o/usr/shar64ubuntu@ubuntu:~/dockerfile$sudodockerrun-d-p8016:80two-eightF85f1d378c3aa3d50a4ae4643ef149f7d6650aa880cf4f3183733427c19333af新建容器65ppt課件ubuntu@ubuntu:~/dockerfile$su65ubuntu@ubuntu:~/dockerfile$sudodockerpsCONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTSNAMESf85f1d378c3atwo-eight:latest"/usr/sbin/nginx-c12secondsagoUp11seconds:8016->80/tcphappy_brattain083e0b625f1dtwo-eight:v5"nginx-g'daemonof5daysagoUp5days:8015->80/tcphungry_kirch05f67d439202two-eight:v4"nginx-g'daemonof5daysagoUp5days:8014->80/tcpberserk_kirche22e3622bc03mytwo:latest"/usr/sbin/nginx-c5daysagoUp5days:8013->80/tcpadoring_lumiere372f7bf88fcetomcat7:latest"/usr/share/tomcat7/7weeksagoUp7weeks9000/tcp,:8120->8080/tcpecstatic_tesla46efd96497dfmytwo:latest"/usr/sbin/nginx-c11weeksagoUp11weeks:8012->80/tcpadmiring_hodgkin4d750597e720mytwo:latest"/usr/sbin/nginx-c11weeksagoUp11weeks:8011->80/tcpgoofy_poincare
查看容器66ppt課件ubuntu@ubuntu:~/dockerfile$su66八、Docker調(diào)度工具介紹Docker怎么才能用好?67ppt課件八、Docker調(diào)度工具介紹Docker怎么才能用好?67p67很多人將Docker等同于Container,其實這是不對的,就像傳統(tǒng)的集裝箱運輸體系一樣,集裝箱只是其中一個最核心的部件。用它來代表整個以集裝箱為核心的運輸體系。那么Docker其實就是以容器為核心的IT交付與運行體系。它包括了DockerEngine(容器的運行管理)DockerRegistry(容器的分發(fā)管理)以及相關的一系列的API接口。包括DockerMachine,Swarm,Compose。所以可以看做是一套以容器為核心的創(chuàng)建,分發(fā),和運行的標準化體系。68ppt課件很多人將Docker等同于Container,其實這是不對的68容器調(diào)度工具的主要任務就是負責在最合適的主機上啟動容器,并且將它們關聯(lián)起來。它必須能夠通過自動的故障轉移(fail-overs)來處理錯誤,并且當一個實例不足以處理/計算數(shù)據(jù)時,它能夠擴展容器來解決問題。四個主流容器調(diào)度框架:DockerSwarm、ApacheMesos
(runningtheMarathonframework)andGoogleKubernetes。CoreOSFleet容器調(diào)度簡介69ppt課件容器調(diào)度工具的主要任務就是負責在最合適的主機上啟動容器,并且69DockerSwarm是一個由Docker開發(fā)的調(diào)度框架。由Docker自身開發(fā)的好處之一就是標準DockerAPI的使用。。70ppt課件DockerSwarm是一個由Docker開發(fā)的調(diào)度框架。70Kubernetes是一個Docker容器的編排系統(tǒng),它使用label和pod的概念來將容器換分為邏輯單元。Pods是同地協(xié)作(co-located)容器的集合,這些容器被共同部署和調(diào)度,形成了一個服務,這是Kubernetes和其他兩個框架的主要區(qū)別。相比于基于相似度的容器調(diào)度方式(就像Swarm和Mesos),這個方法簡化了對集群的管理。71ppt課件Kubernetes是一個Docker容器的編排系統(tǒng),它使用7172ppt課件72ppt課件72Mesos的目的就是建立一個高效可擴展的系統(tǒng),并且這個系統(tǒng)能夠支持很多各種各樣的框架,不管是現(xiàn)在的還是未來的框架,它都能支持。73ppt課件Mesos的目的就是建立一個高效可擴展的系統(tǒng),并且這個系統(tǒng)能73Fleet是一個來自CoreOS的集群管理工具,自詡為低級別的集群引擎,也就意味著,它可支持從基礎層到高層解決方案如Kubernetes。74ppt課件Fleet是一個來自CoreOS的集群管理工具,自詡為低級別741.Swarm的優(yōu)點和缺點都是使用標準的Docker接口,使用簡單,容易集成到現(xiàn)有系統(tǒng),但是更困難支持更復雜的調(diào)度,比如以定制接口方式定義的調(diào)度。
2.Fleet是低層次且相當簡單的管理指揮層,能作為運行高級別管理工具如Kubernetes的基礎。
3.Kubernetes是自成體系的管理工具,有自己的服務發(fā)現(xiàn)和復制,需要對現(xiàn)有應用的重新設計,但是能支持失敗冗余和擴展系統(tǒng)。Kubernetes是由谷歌的Borg容器管理工具簡化的開源版本
。
總結比較75ppt課件1.Swarm的優(yōu)點和缺點都是使用標準的Docker接口,754.Mesos是低級別battle-hardened調(diào)度器,支持幾種容器管理框架如Marathon,Kubernetes,andSwarm,現(xiàn)在Kubernetes和Mesos穩(wěn)定性超過Swarm,在擴展性方面,Mesos已經(jīng)被證明支持超大規(guī)模的系統(tǒng),比如數(shù)百數(shù)千臺主機,但是,如果你需要小的集群,比如少于一打數(shù)量的節(jié)點服務器數(shù)量,Mesos也許過于復雜了。Mesos則由開源社區(qū)在谷歌公開出的技術原理上開發(fā)出來,但可以適應更大規(guī)模的分布式集群系統(tǒng)。總結比較76ppt課件4.Mesos是低級別battle-hardened調(diào)度器76九、Docker最佳實踐Devops介紹77ppt課件九、Docker最佳實踐Devops介紹77ppt課件77DevOps(英文Development和Operations的組合)是一組過程、方法與系統(tǒng)的統(tǒng)稱,用于促進開發(fā)(應用程序/軟件工程)、技術運營和質(zhì)量保障(QA)部門之間的溝通、協(xié)作與整合。它的出現(xiàn)是由于軟件行業(yè)日益清晰地認識到:為了按時交付軟件產(chǎn)品和服務,開發(fā)和運營工作必須緊密合作。78ppt課件DevOps(英文Development和Operation78需要頻繁交付的企業(yè)可能更需要對DevOps有一個大致的了解。如果一個組織要生產(chǎn)面向多種用戶、具備多樣功能的應用程序,其部署周期必然會很短。這種能力也被稱為持續(xù)部署,并且經(jīng)常與精益創(chuàng)業(yè)方法聯(lián)系起來。從2009年起,相關的工作組、專業(yè)組織和博客快速涌現(xiàn)。79ppt課件需要頻繁交付的企業(yè)可能更需要對DevOps有一個大致的了解。79DevOps的引入能對產(chǎn)品交付、測試、功能開發(fā)和維護(包括──曾經(jīng)罕見但如今已屢見不鮮的──“熱補丁”)起到意義深遠的影響。在缺乏DevOps能力的組織中,開發(fā)與運營之間存在著信息“鴻溝”──例如運營人員要求更好的可靠性和安全性,開發(fā)人員則希望基礎設施響應更快,而業(yè)務用戶的需求則是更快地將更多的特性發(fā)布給最終用戶使用。這種信息鴻溝就是最常出問題的地方。80ppt課件DevOps的引入能對產(chǎn)品交付、測試、功能開發(fā)和維護(包括─80介紹JAVA項目如何通過Docker實現(xiàn)持續(xù)部署(只需簡單四步),全程無需運維人員參與即:開發(fā)人員通過gitpush上傳代碼經(jīng)Git和Jenkins配合自動完成程序部署發(fā)布案例介紹81ppt課件介紹JAVA項目如何通過Docker實現(xiàn)持續(xù)部署(只需簡單四81其他變通的方案,把代碼放在宿主機上,讓容器通過卷組映射來讀取。這種方法不建議的原因是,將代碼拆分出容器,這違背了Docker的集裝箱原則。從貨運工人角度考慮,整體才是最經(jīng)濟的。這樣,也才能實現(xiàn)真正意義的容器級遷移?;蛘哒f,容器時代,拋棄過去文件分發(fā)的思想。容器即進程。我們采用上述方案做Docker持續(xù)部署的原因和意義,也在于此。容器的生命周期,應該遠遠短于虛擬機,容器出現(xiàn)問題,應該是立即殺掉,而不是試圖恢復。82ppt課件其他變通的方案,把代碼放在宿主機上,讓容器通過卷組映射來讀取82GIT作為開源代碼庫以及版本控制系統(tǒng),Github擁有140多萬開發(fā)者用戶。隨著越來越多的應用程序轉移到了云上,Github已經(jīng)成為了管理軟件開發(fā)以及發(fā)現(xiàn)已有代碼的首選方法。Jenkins是基于Java開發(fā)的一種繼續(xù)集成(Continuousintegration)工具,簡稱CI。它倡導團隊開發(fā)成員必須經(jīng)常集成他們的工作,甚至每天都可能發(fā)生多次集成。而每次的集成都是通過自動化的構建來驗證,包括自動編譯、發(fā)布和測試,從而盡快地發(fā)現(xiàn)集成錯誤,讓團隊能夠更快的開發(fā)內(nèi)聚的軟件。知識點介紹83ppt課件GIT作為開源代碼庫以及版本控制系統(tǒng),Github擁有14083圖示JAVA項目如何通過Docker實現(xiàn)持續(xù)部署即:
開發(fā)人員通過gitpush上傳代碼,經(jīng)Git和Jenkins配合,自動完成程序部署、發(fā)布,全程無需運維人員參與。84ppt課件圖示JAVA項目如何通過Docker實現(xiàn)持續(xù)部署即:
開發(fā)人84一個IT系統(tǒng)應該包含如下幾個層次:應用程序運行時平臺(bin/framework/lib)操作系統(tǒng)硬件(基礎設施)開發(fā)人員的主要工作是應用程序的編碼、構建、測試和發(fā)布,涉及應用程序和運行時平臺這兩層。而運維人員的工作則涉及從硬件、操作系統(tǒng)到運行時平臺的安裝、配置、運行監(jiān)控、升級和優(yōu)化等工作。docker提供了一種運行時環(huán)境,隔離了上層應用于下層操作系統(tǒng)和硬件的關聯(lián),使得術業(yè)有專攻。開發(fā)和運維的有效隔離85ppt課件一個IT系統(tǒng)應該包含如下幾個層次:開發(fā)和運維的有效隔離85p85簡單的東西,永遠是最有生命力的86ppt課件簡單的東西,永遠是最有生命力的86ppt課件86
Docker是基于Linux64bit的,無法在32bit的linux/Windows/unix環(huán)境下使用LXC是基于cgroup等linuxkernel功能的,因此container的guest系統(tǒng)只能是linuxbase的隔離性相比KVM之類的虛擬化方案還是有些欠缺,所有container公用一部分的運行庫網(wǎng)絡管理相對簡單,主要是基于namespace隔離cgroup的cpu和cpuset提供的cpu功能相比KVM的等虛擬化方案相比難以度量(所以dotcloud主要是按內(nèi)存收費)docker對disk的管理比較有限container隨著用戶進程的停止而銷毀,container中的log等用戶數(shù)據(jù)不便收集Docker目前在著以下幾個缺點87ppt課件
Docker是基于Linux64bit的,無法在32b87所有的偉大源于一個勇敢的開始2016年4月11日88ppt課件所有的偉大2016年4月11日88ppt課件88Docker技術介紹(一)信息中心運行維護室畢宏剛89ppt課件Docker技術介紹(一)信息中心運行維護室畢宏剛1ppt89一、Docker案例介紹二、Docker概念介紹三、Docker與虛擬機對比四、Docker應用場景五、Docker的實用性六、Docker基本原理七、Docker基本命令介紹八、Docker調(diào)度工具介紹九、Docker最佳實踐90ppt課件一、Docker案例介紹2ppt課件90精品資料精品資料91你怎么稱呼老師?如果老師最后沒有總結一節(jié)課的重點的難點,你是否會認為老師的教學方法需要改進?你所經(jīng)歷的課堂,是講座式還是討論式?教師的教鞭“不怕太陽曬,也不怕那風雨狂,只怕先生罵我笨,沒有學問無顏見爹娘……”“太陽當空照,花兒對我笑,小鳥說早早早……”docker技術介紹(-一)課件92一、Docker案例介紹眼見為實—2048游戲軟件的搭建93ppt課件一、Docker案例介紹眼見為實—2048游戲軟件的搭建5p9394ppt課件6ppt課件94ubuntu@ubuntu:~/dockerfile$sudodockerrun-d-p8016:80two-eightF85f1d378c3aa3d50a4ae4643ef149f7d6650aa880cf4f3183733427c19333afubuntu@ubuntu:~/dockerfile$sudodockerrun-d-p8017:80two-eightubuntu@ubuntu:~/dockerfile$sudodockerrun-d-p8018:80two-eightubuntu@ubuntu:~/dockerfile$sudodockerrun-d-p8019:80two-eight操作命令95ppt課件ubuntu@ubuntu:~/dockerfile$su95實驗結果96ppt課件實驗結果8ppt課件96二、Docker概念介紹什么是容器?什么是Docker?97ppt課件二、Docker概念介紹什么是容器?9ppt課件97隨著整個云計算產(chǎn)業(yè)的演進,繼IaaS和SaaS成為風口和出現(xiàn)爆發(fā)式增長后,接下來PaaS即將迎來風口。在2015年,多家云創(chuàng)業(yè)公司將產(chǎn)品定位轉向了場景化PaaS,諸如即時通訊PaaS云智能語音PaaS云物聯(lián)網(wǎng)PaaS云存儲PaaS云基于Docker的PaaS平臺98ppt課件隨著整個云計算產(chǎn)業(yè)的演進,繼IaaS和SaaS成為風981960年之前的貨運情況99ppt課件1960年之前的貨運情況11ppt課件99通過集裝箱的運貨方式(1960年之后)100ppt課件通過集裝箱的運貨方式(1960年之后)12ppt課件100101ppt課件13ppt課件101基于Docker的軟件開發(fā)、運維102ppt課件基于Docker的軟件開發(fā)、運維14ppt課件102Docker基于容器技術的輕量級虛擬化解決方案Docker是容器引擎,把Linux的cgroup、namespace等容器底層技術進行封裝抽象,為用戶提供了創(chuàng)建和管理容器的便捷界面(包括命令行和API)Docker是一個開源項目,誕生于2013年初,基于Google公司推出的Go語言實現(xiàn)微軟,紅帽Linux,IBM,Oracle等主流IT廠商已經(jīng)在自己的產(chǎn)品里增加對Docker的支持。Google每周啟動超過20億個容器進行業(yè)務服務,于上個世紀90年代已經(jīng)開始大規(guī)模使用容器技術103ppt課件Docker基于容器技術的輕量級虛擬化解決方案15ppt課件103
物理容器Docker內(nèi)容無關性相同的集裝箱可以容納幾乎任何類型的貨物
可以封裝任何有效負載及其依賴項硬件無關性同一標準的容器允許把貨物從船上運輸?shù)交疖嚒⒖ㄜ嚿?,直到運輸?shù)絺}庫,整個過程無需整理貨物或打開容器使用操作系統(tǒng)基元(例如:LXC)幾乎可以在任何平臺上運行——虛擬機、裸機、OpenStack、公共IaaS等,并且無需修改內(nèi)容隔離和交互無需擔心鐵壓在香蕉上,容器可以堆積運輸資源、網(wǎng)絡和內(nèi)容隔離,避免依賴
Docker主要功能特征104ppt課件
物理容器Docker內(nèi)容無關性相同的集裝箱可以容納幾乎任何104
物理容器Docker自動化標準的接口使其易于實現(xiàn)自動化裝卸、搬運等運行、啟動、停止、提交、搜索等都有標準的操作,非常適合devops:CI、CD、自動擴展、混合云高效無需打開或修改,可以在起始兩地快速地移動/運輸
輕量級,可以進行快速移動和操作
職責分離
托運人擔心盒子內(nèi)部、承運人擔心盒子外部
開發(fā)人員擔心代碼,運營人員擔心基礎設施
105ppt課件
物理容器Docker自動化標準的接口使其易于實現(xiàn)自動化裝卸105docker容器,軟件運行的單元(例如tomcat、mysql軟件)106ppt課件docker容器,軟件運行的單元(例如tomcat、mysq106阿里云平臺百度云平臺容器跨云平臺遷移107ppt課件阿里云平臺百度云平臺容器跨云平臺遷移19ppt課件107容器介紹Container(容器)技術其實早在多年前就出現(xiàn)了。從2005年的SolarisContainers到2008年LXC0.1版本的推出。再到后來的Google推出開源的容器管理工具lmctfy,也將近經(jīng)歷了10年的發(fā)展。它僅僅只是一個虛擬化的技術,相比KVM,XEM沒有太多的優(yōu)勢。直到2013年,Docker的出現(xiàn)。才代表著容器技術一個新的時代的來臨。108ppt課件容器介紹Container(容器)技術其實早在多年前就出現(xiàn)了108從技術角度看,傳統(tǒng)容器只解決了容器執(zhí)行(run)問題,而Docker定義了一套容器構建(build)分發(fā)(ship)執(zhí)行(run)容器Container鏡像images倉庫Repositories執(zhí)行構建分發(fā)109ppt課件從技術角度看,傳統(tǒng)容器只解決了容器執(zhí)行(run)問題,而Do109ClientDocker_host1Registry(倉庫)DockerrunDockerpushDockerpullDockerengine容器鏡像DockerbuildDocker_host2Dockerengine鏡像容器110ppt課件ClientDocker_host1Registry(倉庫)110三、Docker與虛擬機對比虛擬機和Docker有什么區(qū)別?111ppt課件三、Docker與虛擬機對比虛擬機和Docker有什么區(qū)別?111112ppt課件24ppt課件112作為一種輕量級的虛擬化方式,Docker在運行應用上跟傳統(tǒng)的虛擬機方式相比具有顯著優(yōu)勢:
Docker容器很快,啟動和停止可以在秒級實現(xiàn),這相比傳統(tǒng)的虛擬機方式要快得多。
Docker容器對系統(tǒng)資源需求很少,一臺主機上可以同時運行數(shù)千個Docker容器。
Docker通過類似Git的操作來方便用戶獲取、分發(fā)和更新應用鏡像,指令簡明,學習成本較低。
Docker--輕量級虛擬化容器技術113ppt課件作為一種輕量級的虛擬化方式,Docker在運行應用上跟傳統(tǒng)的113Docker通過Dockerfile配置文件來支持靈活的自動化創(chuàng)建和部署機制,提高工作效率。
Docker容器除了運行其中的應用之外,基本不消耗額外的系統(tǒng)資源,保證應用性能的同時,盡量減小系統(tǒng)開銷。傳統(tǒng)虛擬機方式運行N個不同的應用就要啟動N個虛擬機(每個虛擬機需要單獨分配獨占的內(nèi)存、磁盤等資源),而Docker只需要啟動N個隔離的容器,并將應用放到容器內(nèi)即可。
Docker--輕量級虛擬化容器技術114ppt課件Docker通過Dockerfile配置文件來支持靈活的自動114Docker虛擬機啟動速度秒級分鐘級復雜度基于內(nèi)核的namespace技術,對現(xiàn)有基礎設施的侵入較少部署復雜度較高,并且很多基礎設施不兼容執(zhí)行性能在內(nèi)核中實現(xiàn),所以性能幾乎與原生一致對比內(nèi)核級實現(xiàn),性能較差可控性依賴簡單,與進程無本質(zhì)區(qū)別依賴復雜,并且存在跨部門問題體積與業(yè)務代碼發(fā)布版本大小相當MB級別GB級別并發(fā)性可以啟動幾百幾千個容器最多幾十個虛擬機資源利用率高低特點對比115ppt課件Docker虛擬機啟動速度秒級分鐘級復雜度基于內(nèi)核的name115以下的數(shù)據(jù)均是在IBMx3650M4服務器測得,其主要的硬件參數(shù)是:
(1)2顆英特爾xeonE5-2655處理器,主頻2.4-3.0GHz。每顆處理器有8個核,因此總共有16個核。
(2)256GBRAM.
在測試中是通過運算Linpack程序來獲得計算能力數(shù)據(jù)的。結果如下圖所示:
性能對比116ppt課件以下的數(shù)據(jù)均是在IBMx3650M4服務器測得,其主要的116
1.資源隔離方面不如虛擬機,docker是利用cgroup實現(xiàn)資源限制的,只能限制資源消耗的最大值,而不能隔絕其他程序占用自己的資源。
2.安全性問題。docker目前并不能分辨具體執(zhí)行指令的用戶,只要一個用戶擁有執(zhí)行docker的權限,那么他就可以對docker的容器進行所有操作,不管該容器是否是由該用戶創(chuàng)建。比如A和B都擁有執(zhí)行docker的權限,由于docker的server端并不會具體判斷dockerclient是由哪個用戶發(fā)起的,A可以刪除B創(chuàng)建的容器,存在一定的安全風險。
3.docker目前還在版本的快速更新中,細節(jié)功能調(diào)整比較大。一些核心模塊依賴于高版本內(nèi)核,存在版本兼容問題
Docker相對虛擬機不足之處117ppt課件
1.資源隔離方面不如虛擬機,docker是利用cgrou117有些激進的言論聲稱Docker將是現(xiàn)有虛擬機技術的終結者,個人覺得此言論有些浮夸了。Docker是面向應用的,其終極目標是構建PAAS平臺,而現(xiàn)有虛擬機主要目的是提供一個靈活的計算資源池,是面向架構的,其終極目標是構建一個IAAS,或者是SDDC(SoftwareDefinedDataCenter軟件定義的數(shù)據(jù)中心)。
并且,兩者相輔相成。Docker的老東家dotCloud的PAAS服務便基于Amazon的AWS服務,因此,虛擬機是Docker的土壤,而Docker則向用戶展現(xiàn)了業(yè)務。結論118ppt課件有些激進的言論聲稱Docker將是現(xiàn)有虛擬機技術的終結者,個118四、Docker應用場景Docker怎么用?119ppt課件四、Docker應用場景Docker怎么用?31ppt課件119?對應用進行自動打包和部署(Automatingthepackaginganddeploymentofapplications)
Docker對于應用依賴封裝完整,同一鏡像可重復的在測試、集成、生產(chǎn)等環(huán)境部署,做到“一次構建,處處運行”,適用于持續(xù)集成、持續(xù)部署流程。120ppt課件?對應用進行自動打包和部署(Automatingthep120?創(chuàng)建輕量、私有的PAAS環(huán)境(Creationoflightweight,privatePAASenvironments)
121ppt課件?創(chuàng)建輕量、私有的PAAS環(huán)境(Creationofl121?自動化測試和持續(xù)整合與部署(Automatedtestingandcontinuousintegration/deployment)搭建開發(fā)環(huán)境安裝web容器安裝數(shù)據(jù)庫分配網(wǎng)絡開發(fā)測試編碼測試安裝web容器安裝數(shù)據(jù)庫分配網(wǎng)絡上線生產(chǎn)搭建開發(fā)環(huán)境安裝web容器安裝數(shù)據(jù)庫分配網(wǎng)絡SAP測試環(huán)境安裝SAP系統(tǒng)測試安裝SAP系統(tǒng)生產(chǎn)SAP生產(chǎn)環(huán)境SAP開發(fā)環(huán)境安裝SAP系統(tǒng)開發(fā)共享NFS文件系統(tǒng)版本管理傳輸傳輸傳統(tǒng)型軟件開發(fā)、測試、上線過程122ppt課件?自動化測試和持續(xù)整合與部署(Automatedtesti1221、資源利用效率低2、單物理機多應用無法有效隔離(進程空間,cpu資源,磁盤)3、運維部署不便4、測試、版本管理復雜5、遷移成本高6、傳統(tǒng)虛擬機,空間占用大,啟動慢,管理復雜傳統(tǒng)型軟件開發(fā)、測試、上線過程不足之處123ppt課件1、資源利用效率低傳統(tǒng)型軟件開發(fā)、測試、上線過程不足之處35123Docker倉庫群開發(fā)(本地)獲取鏡像開發(fā)測試提交倉庫測試機(公用)獲取鏡像驗證測試生產(chǎn)機集群獲取鏡像部署備份以Docker為單位的開發(fā)部署流程設計124ppt課件Docker倉庫群開發(fā)(本地)獲取鏡像開發(fā)測試提交倉庫測試機124以docker為單位的開發(fā)測試部署流程,簡化了環(huán)境搭建的步驟,提高了資源利用效率和開發(fā)測試部署的速度,降低了遷移的成本更快速的交付和部署。使用Docker,開發(fā)人員可以使用鏡像來快速構建一套標準的開發(fā)環(huán)境;開發(fā)完成之后,測試和運維人員可以直接使用相同環(huán)境來部署代碼。Docker可以快速創(chuàng)建和刪除容器,實現(xiàn)快速迭代,大量節(jié)約開發(fā)、測試、部署的時間。并且,各個步驟都有明確的配置和操作,整個過程全程可見,使團隊更容易理解應用的創(chuàng)建和工作過程。125ppt課件以docker為單位的開發(fā)測試部署流程,簡化了環(huán)境搭建的步驟125?部署和擴展Web應用、數(shù)據(jù)庫和后端服務(Deployingandscalingwebapps,databasesandbackendservices)案例:微博紅包羊年春晚Docker集群成功的為1.02億用戶刷微博、搶紅包提供了可靠的服務。微博平臺Docker集群的規(guī)模情況:Docker集群規(guī)模達到1000+節(jié)點QPS(每秒查詢率)峰值達到800K/s4個9的服務SLA達到150ms共覆蓋23個核心服務春晚共調(diào)度近300節(jié)點完成動態(tài)擴容126ppt課件?部署和擴展Web應用、數(shù)據(jù)庫和后端服務(Deployin126由此可見,Docker的目的是讓用戶用簡單的“集裝箱”方式,快速的部署大量的、標準化的應用運行環(huán)境,所以,只要是這類的需求,Docker都比較適合。結論127ppt課件由此可見,Docker的目的是讓用戶用簡單的“集裝箱”方式,127五、Docker的實用性成熟度、適用性Docker能在企業(yè)里面用么?1、穩(wěn)定性2、可管理性3、業(yè)務高可用和可恢復能力128ppt課件五、Docker的實用性成熟度、適用性1、穩(wěn)定性40ppt課128從穩(wěn)定性上看,Docker在2015年6月10日發(fā)布了1.0版本,把該版本稱為一個“里程碑”,并聲稱“1.0的發(fā)布表明在質(zhì)量、功能完整、后臺兼容和API穩(wěn)定性方面已經(jīng)提升了一個級別,達到企業(yè)IT標準”。但在此之前,dotCloud一直警告用戶“不要在生產(chǎn)環(huán)境中運行Docker”,在RHEL7中,Docker的版本為0.11.1,這是1.0發(fā)布前的RC版本,雖然紅帽會將之后的Docker更新和補丁修復更新到0.11版本中,目前Docker的版本是1.9版本。但是,企業(yè)客戶在使用這樣一個較新的軟件版本時,仍需承擔不小的穩(wěn)定性風險的。而在很多企業(yè)客戶的軟件版本選擇規(guī)范上,都有“需采用已經(jīng)發(fā)布超過半年的穩(wěn)定版本”的要求。
穩(wěn)定性129ppt課件從穩(wěn)定性上看,Docker在2015年6月10日發(fā)布了1.0129可管理性方面,企業(yè)的IT運維人員需要所使用的軟件具有很好的可視化管理能力,并且具有可行的監(jiān)控手段。
Docker目前的集中化管理主要有DockerUI、Dockland、Shipyard等Docker的主要作用是應用的發(fā)布和運行,但是,看起來Shipyard在Application的管理上還很粗糙,并且,整個管理思路并不是以應用為中心的,這可能會給企業(yè)在集中管理Docker的時候,帶來了一定的“麻煩”。
而監(jiān)控的主要目的是快速了解系統(tǒng)、運行的建康狀況,對風險狀態(tài)進行告警,這方面,Docker較為缺乏,還需要企業(yè)針對相關環(huán)境進行定制化的監(jiān)控實現(xiàn)。
可管理性130ppt課件可管理性方面,企業(yè)的IT運維人員需要所使用的軟件具有很好的可130在企業(yè)中任何一個業(yè)務都是需要高度可用的,因此,企業(yè)業(yè)務平臺都要考慮三個事情:本地高可用、數(shù)據(jù)備份、遠程災難恢復。
當然,在使用Docker的時候,也許需要從另一個角度考慮問題,在Docker的應用場景中,提倡“無狀態(tài)”應用,也就是說,業(yè)務數(shù)據(jù)僅在數(shù)據(jù)層進行存儲,而業(yè)務層不關注任何數(shù)據(jù)。業(yè)務層的高可用就可以通過快速的重新部署來實現(xiàn),數(shù)據(jù)層仍然采用傳統(tǒng)模式,或者借助于傳統(tǒng)的方式實現(xiàn)高可用和可恢復性。但這需要時間進行方案摸索和驗證,其可行性和可靠性需要時間來去證明。業(yè)務高可用和可恢復性131ppt課件在企業(yè)中任何一個業(yè)務都是需要高度可用的,因此,企業(yè)業(yè)務平臺都131綜上所述,Docker到大規(guī)模的企業(yè)環(huán)境應用還有不少的路要走,但是,它所帶來的便利性仍然不可小視,這將是革命性的改變,“不足”換種說法就是“機會”,這需要大量了解企業(yè)業(yè)務的合作伙伴圍繞Docker推出相應的解決方案,而Docker的開放性給這種努力帶來了極大的便利性。
而對于企業(yè)來說,Docker對開發(fā)、測試團隊帶來的便利性非常巨大,而開發(fā)、測試環(huán)境對之上所討論到的缺點并不關注,所以,在開發(fā)、測試團隊大膽的推廣、使用Docker無疑能夠獲得極大的收益。132ppt課件綜上所述,Docker到大規(guī)模的企業(yè)環(huán)境應用還有不少的路要走132六、Docker基本原理基本概念及基本原理133ppt課件六、Docker基本原理基本概念及基本原理45ppt課件133基本概念(三大核心)容器Container鏡像images倉庫RepositoriesdockerHub(publicregistry)Docker-registry(privateregistry)執(zhí)行構建分發(fā)134ppt課件基本概念(三大核心)容器鏡像倉庫dockerHubDock134Docker的鏡像類似虛擬機的模板,但是更輕量例如:一個鏡像可以包含一個完整的Linux操作系統(tǒng)環(huán)境,里面僅安裝了Tomcat或用戶需要的其它應用程序鏡像可以用來創(chuàng)建容器鏡像135ppt課件Docker的鏡像類似虛擬機的模板,但是更輕量鏡像47pp135等同于從模板中創(chuàng)建虛擬機容器是從鏡像創(chuàng)建的運行實例。它可以被啟動、開始、停止、刪除。每個容器都是相互隔離的、保證安全的
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 集美大學《計算機技術與應用》2023-2024學年第二學期期末試卷
- 2025年黑龍江貨運從業(yè)資格證模擬考試題庫及答案
- 中級經(jīng)濟師保險專業(yè)-中級經(jīng)濟師《保險專業(yè)知識與實務》模擬試卷5
- 2024信息運維檢修專項測試題附答案
- 2025年中國皮草釘市場調(diào)查研究報告
- 廣東省汕頭市達濠華橋中學2023-2024學年高三下學期起點考試數(shù)學試題試卷
- 2025年中國五層角落架市場調(diào)查研究報告
- 2025至2031年中國鐵路液壓搗固機行業(yè)投資前景及策略咨詢研究報告
- 2025至2031年中國精梳棉滌混紡府綢行業(yè)投資前景及策略咨詢研究報告
- 2025至2030年中國聚氨酯冷澆整體樹脂地面數(shù)據(jù)監(jiān)測研究報告
- 高標準農(nóng)田施工組織設計(全)
- 宿舍、辦公樓消防應急預案
- 細胞全能性的課件資料
- 職業(yè)安全健康工作總結(2篇)
- 14S501-1 球墨鑄鐵單層井蓋及踏步施工
- YB 4022-1991耐火泥漿荷重軟化溫度試驗方法(示差-升溫法)
- 水土保持方案中沉沙池的布設技術
- 安全生產(chǎn)技術規(guī)范 第25部分:城鎮(zhèn)天然氣經(jīng)營企業(yè)DB50-T 867.25-2021
- 現(xiàn)代企業(yè)管理 (全套完整課件)
- 走進本土項目化設計-讀《PBL項目化學習設計》有感
- 高中語文日積月累23
評論
0/150
提交評論