作者簡介: 辭七七,目前大二,正在學(xué)習(xí)C/C++,Java,Python等
作者主頁: 七七的個(gè)人主頁
文章收錄專欄: 七七的閑談
歡迎大家點(diǎn)贊 ?? 收藏 ? 加關(guān)注哦!????
1. 使用案例
??Docker是一個(gè)命令行工具,它提供了中央“docker”執(zhí)行過程中所需的所有工具
。這使得Docker的操作非常簡單。一些例子可以檢查運(yùn)行中的容器的狀態(tài):
??或檢查可用的鏡像及其版本的列表:
??另一個(gè)例子是顯示一個(gè)鏡像的歷史:
??上面的命令顯示了命令行界面操作的方便快捷。只需要指定鏡像ID的前幾個(gè)字符就可以??梢钥吹街恍枰癲95”就能顯示d95238078ab0鏡像的所有歷史。
??人們可能會注意到該鏡像非常小。這是因?yàn)镈ocker從父鏡像建立增量鏡像,只存儲每個(gè)容器的更改。因此,如果有一個(gè)300MB的父鏡像,如果在容器中安裝了50MB的額外應(yīng)用或服務(wù),該容器和生成鏡像可能只有50MB。
??可以用Dockerfiles自動化Docker容器的創(chuàng)建過程
。Dockerfiles是含有單個(gè)容器性能規(guī)范的文件。例如,可以創(chuàng)建一個(gè)Dockerfiles來建立一個(gè)Ubuntu容器,在新容器內(nèi)運(yùn)行一些命令、安裝軟件或執(zhí)行其他任務(wù),然后啟動容器。
??容器網(wǎng)絡(luò)
??Docker早期版本中的網(wǎng)絡(luò)基于主機(jī)橋接,但是Docker 1.0包含了一種新形式的網(wǎng)絡(luò),允許容器直接連接到主機(jī)以太網(wǎng)接口。默認(rèn)情況下,一個(gè)容器有一個(gè)回路以及一個(gè)連接到默認(rèn)內(nèi)部橋接的接口,但是如果需要的話也可以配制成直接訪問。通常,直接訪問比橋接的速度更快
。
??然而,橋接方法在許多情況下是非常有用的。橋接是通過主機(jī)自動創(chuàng)建一個(gè)內(nèi)部網(wǎng)絡(luò)適配器并為其分配一個(gè)主機(jī)本身尚未使用的子網(wǎng)。然后,當(dāng)新的容器連接到這座橋,它們的地址進(jìn)行自動分配。容器啟動時(shí)可以將其連接到主機(jī)接口或端口,因此運(yùn)行Apache的容器可能啟動并連接到主機(jī)上的TCP端口8080(或隨機(jī)端口)。通過使用腳本和管理控制,可以在任何地方啟動Docker,連接端口并將其傳達(dá)到需要使用該服務(wù)的應(yīng)用或服務(wù)堆棧的其他部分
。
??在Hyper-V服務(wù)器上Docker主機(jī)備份方法
??要在Hyper-V服務(wù)器上創(chuàng)建Docker主機(jī),需要下載并且安裝OpenSSH以及Windows版本的Docker Machine
。還應(yīng)該將OpenSSH二進(jìn)制文件添加到Hyper-V服務(wù)器路徑以便Docker Machine可以找到它們。
??一旦所需的組件就緒,創(chuàng)建Docker主機(jī)如同運(yùn)行一條命令行一樣輕而易舉。打開命令提示符窗口,定位到包含Docker Machine的文件夾,然后輸入可執(zhí)行文件名稱(Docker-machine_windows-amd64.exe),其后輸入-d開關(guān)、驅(qū)動程序的名稱(在本例中是Hyper-V)以及正在創(chuàng)建的虛擬機(jī)(VM)的名稱。
??例如,該命令可能如下所示:
Docker-machine_windows-amd64.exe -d hyper-v Docker
當(dāng)運(yùn)行這個(gè)命令的時(shí)候,Docker Machine完成幾個(gè)不同的任務(wù)。其中一些更重要的任務(wù)(從備份的角度來看)包括:
使用命令行中指定的名稱創(chuàng)建虛擬硬盤(virtual hard disk,VHD);
下載名為Boot2Docker.ISO的DVD映像;
創(chuàng)建虛擬機(jī);把Boot2Docker.ISO 文件與新創(chuàng)建的VM關(guān)聯(lián),作為虛擬DVD光驅(qū)
;
把VHD與VM關(guān)聯(lián);
啟動VM;
向VM分配IP地址和端口號。
2. Docker解決的問題
??云計(jì)算、大數(shù)據(jù),移動技術(shù)的快速發(fā)展,加之企業(yè)業(yè)務(wù)需求的不斷變化,導(dǎo)致企業(yè)架構(gòu)要隨時(shí)更改以適合業(yè)務(wù)需求,跟上技術(shù)更新的步伐。毫無疑問,這些重?fù)?dān)都將壓在企業(yè)開發(fā)人員身上;團(tuán)隊(duì)之間如何高效協(xié)調(diào),快速交付產(chǎn)品,快速部署應(yīng)用,以及滿足企業(yè)業(yè)務(wù)需求,是開發(fā)人員亟需解決的問題。Docker技術(shù)恰好可以幫助開發(fā)人員解決這些問題
。
??為了解決開發(fā)人員和運(yùn)維人員之間的協(xié)作關(guān)系,加快應(yīng)用交付速度,越來越多的企業(yè)引入了DevOps這一概念。但是,傳統(tǒng)的開發(fā)過程中,開發(fā)、測試、運(yùn)維是三個(gè)獨(dú)立運(yùn)作的團(tuán)隊(duì),團(tuán)隊(duì)之間溝通不暢,開發(fā)運(yùn)維之間沖突時(shí)有發(fā)生,導(dǎo)致協(xié)作效率低下,產(chǎn)品交付延遲, 影響了企業(yè)的業(yè)務(wù)運(yùn)行
。Docker技術(shù)將應(yīng)用以集裝箱的方式打包交付,使應(yīng)用在不同的團(tuán)隊(duì)中共享,通過鏡像的方式應(yīng)用可以部署于任何環(huán)境中。這樣避免了各團(tuán)隊(duì)之間的協(xié)作問題的出現(xiàn),成為企業(yè)實(shí)現(xiàn)DevOps目標(biāo)的重要工具。以容器方式交付的Docker技術(shù)支持不斷地開發(fā)迭代,大大提升了產(chǎn)品開發(fā)和交付速度。
??此外,與通過Hypervisor把底層設(shè)備虛擬化的虛擬機(jī)不同,Docker直接移植于Linux內(nèi)核之上,通過運(yùn)行Linux進(jìn)程將底層設(shè)備虛擬隔離,這樣系統(tǒng)性能的損耗也要比虛擬機(jī)低的多,幾乎可以忽略
。同時(shí),Docker應(yīng)用容器的啟停非常高效,可以支持大規(guī)模的分布系統(tǒng)的水平擴(kuò)展,真正給企業(yè)開發(fā)帶來福音。
??正如中國惠普云計(jì)算集成云技術(shù)首席專家劉艷凱所說的那樣:“任何一項(xiàng)技術(shù)的發(fā)展和它受到的追捧,都是因?yàn)樗軌蚪鉀Q困擾人們的問題,”Docker正是這樣的一種技術(shù)。
3. Docker未來發(fā)展
??任何一項(xiàng)新技術(shù)的出現(xiàn),都需要一個(gè)發(fā)展過程,比如云計(jì)算為企業(yè)所接受用了將近五年左右時(shí)間,OpenStack技術(shù)也經(jīng)歷了兩、三年才受到人們的認(rèn)可
。因此,雖然Docker技術(shù)發(fā)展很快,但技術(shù)還不夠成熟,對存儲的靈活的支持、網(wǎng)絡(luò)的開銷和兼容性方面還存在限制,這是Docker沒有被企業(yè)大范圍使用的一個(gè)主要原因。另外一個(gè)原因是企業(yè)文化是否與DevOps運(yùn)動一致,只有企業(yè)支持DevOps,才能更大地發(fā)揮Docker的價(jià)值。最后一個(gè)原因就是安全性問題,Docker對于Linux這一層的安全的隔離還有待改進(jìn),才能進(jìn)一步得到企業(yè)的認(rèn)可?;萜談⑵G凱認(rèn)為,這也是Docker需要在下一步中改進(jìn)的一方面。
??Docker價(jià)值的最大體于對企業(yè)DevOps的支持,對原生云應(yīng)用大規(guī)模水平擴(kuò)展的支持
。在惠普Helion云戰(zhàn)略中包括了對DevOps服務(wù)和原生云應(yīng)用的支持,而這一戰(zhàn)略的具體落地,與Docker技術(shù)有著緊密的聯(lián)系。因此,惠普團(tuán)隊(duì)一直積極地參與OpenStack社區(qū)中和Docker項(xiàng)目相關(guān)的開發(fā)活動中,努力改進(jìn)Docker技術(shù)中存在的不足。同時(shí),惠普產(chǎn)品中也集成了Docker,例如,惠普開發(fā)平臺產(chǎn)品集成了Docker,使用Docker作為應(yīng)用的容器;以及惠普最新發(fā)布的CloudSystem 9.0也增加對Docker的支持,用戶可以像使用其它的虛擬化資源一樣,選擇Docker作為應(yīng)用的承載容器。劉艷凱認(rèn)為,惠普非常認(rèn)可Docker給用戶帶來的一些價(jià)值,那也希望通過自己努力,使更多的用戶使用到Docker這樣的先進(jìn)的技術(shù)
。
4. Docker Hub 服務(wù)
??雙方在開源容器技術(shù)以及發(fā)展方向上共同努力,并提供本地化的 Docker 服務(wù)
。Docker 公司選擇阿里云平臺作為其DockerHub 在中國運(yùn)營的基礎(chǔ)服務(wù)。阿里云也獲得 DockerEngine 商用版以及DockerDataCenter 運(yùn)營權(quán),并為 Docker 客戶提供企業(yè)級支持和咨詢服務(wù)。同時(shí),阿里云將成為 Docker 官方支持的云服務(wù)提供商。
阿里云總裁胡曉明表示,通過和 Docker 的戰(zhàn)略合作,阿里云將更好地為企業(yè)級客戶提供完善的云服務(wù),使能客戶,并實(shí)現(xiàn)時(shí)代轉(zhuǎn)型。
5. 技術(shù)局限
??網(wǎng)絡(luò)限制:容器網(wǎng)絡(luò)(Docker Network )可以方便地在同一主機(jī)下對容器進(jìn)行網(wǎng)絡(luò)連接
。加上一些其他的工作,就可以跨主機(jī)使用疊加網(wǎng)絡(luò)功能。然而,也就到此為止了。網(wǎng)絡(luò)配置操作是受限的,而且到docker 0.7為止可以說這些手段都是人工的。盡管容器腳本化可以規(guī)?;潜仨毥o網(wǎng)絡(luò)定義增加預(yù)分配實(shí)例,每次提供容器時(shí)還需要額外步驟,這容易引起錯(cuò)誤。
??庫控制受限:庫已經(jīng)成為任何容器會話的中心議題。公共庫是最有價(jià)值的,因?yàn)樗暙I(xiàn)了大量的預(yù)置容器,節(jié)省了許多的配置時(shí)間
。然而,在沙盒里使用它是有風(fēng)險(xiǎn)的。在不知道誰以及如何創(chuàng)建鏡像的情況下,可能會存在任意數(shù)量的有意或無意的穩(wěn)定性和安全性風(fēng)險(xiǎn)。對于企業(yè)來說,有必要建立和維護(hù)一個(gè)私有庫,這個(gè)庫的建立挑戰(zhàn)不大,但管理是個(gè)問題。Docker為大型庫的鏡像管理提供了一個(gè)有限的元數(shù)據(jù)模型,確保未來實(shí)例如預(yù)期的能力受限,也沒有疊加功能。
??沒有清晰的審計(jì)跟蹤:提供容器是很簡單的,但知道提供容器的時(shí)間、原因、方式以及提供方卻不容易
。因此,在提供之后,用戶并不掌握多少出于審計(jì)目的的歷史。
??運(yùn)行實(shí)例的低可見性:如果沒有經(jīng)過深思熟慮的行動,實(shí)例提供后很難接觸到運(yùn)行容器的對象,也很難知道哪些應(yīng)該出那里,哪些不應(yīng)該出那里。
6. Docker環(huán)境安全
??Docker的勢頭在過去的12個(gè)月里十分火熱,很多人表示很少見如此能夠吸引行業(yè)興趣的新興技術(shù)
。然而,當(dāng)興奮轉(zhuǎn)化為實(shí)際部署時(shí),企業(yè)需要注意Docker的安全性。
??了解Docker的人都知道,Docker利用容器將資源進(jìn)行有效隔離。因此容器相當(dāng)于與Linux OS和hypervisor有著幾乎相同的安全運(yùn)行管理和配置管理級別。但當(dāng)Docker涉及到安全運(yùn)營與管理,以及具有保密性、完整性和可用性的通用控件的支持時(shí),Docker可能會讓人失望。
??當(dāng)Docker運(yùn)行在云提供商平臺上時(shí),Docker安全性變得更加復(fù)雜
。需要知道云提供商正在做什么,或許用戶正在于別人共享一臺機(jī)器。
??Docker雖然容器沒有內(nèi)置的安全因素,而且像Docker這樣的新興技術(shù)很難有比較全面的安全措施,但這并不意味著以后也不會出現(xiàn)。
7. 容器部署安全
??也有專家將Docker安全問題的實(shí)質(zhì)定位于配置安全,認(rèn)為Docker的問題是很難配置一個(gè)安全的容器。雖然Docker的開發(fā)人員通過創(chuàng)建非常小的容器來降低攻擊面,但問題在于大型企業(yè)內(nèi)部在生產(chǎn)環(huán)境中運(yùn)行Docker容器的員工需要有更多的可見性和可控性。
??企業(yè)在部署數(shù)千或數(shù)萬臺Docker容器時(shí),能夠確保這些Docker容器都遵守企業(yè)安全策略進(jìn)行配置是至關(guān)重要的事情
。
??Docker為解決這個(gè)問題,就需要增加Docker容器部署的實(shí)時(shí)可見性,同時(shí)實(shí)施企業(yè)制定的安全策略。也有一些廠商為此推出解決方案,給運(yùn)營商提供了實(shí)時(shí)可見性并幫助他們執(zhí)行容器級別的虛擬基礎(chǔ)設(shè)施的安全策略。文章來源:http://www.zghlxwxcb.cn/news/detail-712814.html
關(guān)于【Docker】Docker的使用案例以及未來發(fā)展、Docker Hub 服務(wù)、環(huán)境安全、容器部署安全的詳解,七七就先分享到這里了,如果你認(rèn)為這篇文章對你有幫助,請給七七點(diǎn)個(gè)贊吧,如果發(fā)現(xiàn)什么問題,歡迎評論區(qū)留言!!????文章來源地址http://www.zghlxwxcb.cn/news/detail-712814.html
到了這里,關(guān)于【Docker】Docker的使用案例以及未來發(fā)展、Docker Hub 服務(wù)、環(huán)境安全、容器部署安全的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!