新聞中心
八個(gè)docker的真實(shí)應(yīng)用場(chǎng)景
作者:鐘最龍 審校:李穎杰翻譯 2018-04-09 12:44:45
云計(jì)算 Flux 7介紹了常用的8個(gè)Docker的真實(shí)使用場(chǎng)景,分別是簡(jiǎn)化配置、代碼流水線(xiàn)管理、提高開(kāi)發(fā)效率、隔離應(yīng)用、整合服務(wù)器、調(diào)試能力、多租戶(hù)環(huán)境、快速部署。我們一直在談Docker,Docker怎么使用,在怎么樣的場(chǎng)合下使用?也許本文可以幫到你。有需要交流的地方,可以通過(guò)評(píng)論與我們交流。

公司主營(yíng)業(yè)務(wù):成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、移動(dòng)網(wǎng)站開(kāi)發(fā)等業(yè)務(wù)。幫助企業(yè)客戶(hù)真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開(kāi)放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶(hù)帶來(lái)驚喜。創(chuàng)新互聯(lián)推出羅山免費(fèi)做網(wǎng)站回饋大家。
【編者的話(huà)】Flux 7介紹了常用的8個(gè)Docker的真實(shí)使用場(chǎng)景,分別是簡(jiǎn)化配置、代碼流水線(xiàn)管理、提高開(kāi)發(fā)效率、隔離應(yīng)用、整合服務(wù)器、調(diào)試能力、多租戶(hù)環(huán)境、快速部署。我們一直在談Docker,Docker怎么使用,在怎么樣的場(chǎng)合下使用?也許本文可以幫到你。有需要交流的地方,可以通過(guò)評(píng)論與我們交流。
幾周前我們參加了DockerCon ,Dockercon是***以Docker為中心的技術(shù)大會(huì)。它面向開(kāi)發(fā)者以及對(duì)在Docker開(kāi)放平臺(tái)上構(gòu)建、交付、運(yùn)行分布式應(yīng)用感興趣的從業(yè)者,不論這些開(kāi)放平臺(tái)是運(yùn)行于自用筆記本上或者是數(shù)據(jù)中心的虛擬機(jī)上。我們參加了這次大會(huì),F(xiàn)lux7是Docker基礎(chǔ)的系統(tǒng)集成合作伙伴,同時(shí)也是演講嘉賓。
我們的CEO Aater Suleman和我們的一位客戶(hù)一同進(jìn)行了演講。雖然DockerCon大會(huì)十分有趣,但我覺(jué)得大會(huì)太關(guān)注Docker的具體細(xì)節(jié),而忽略了Docker的使用場(chǎng)景。所以,在這篇文章中,我想介紹并分享一些Docker的實(shí)際應(yīng)用案例。
在我們討論Docker的使用場(chǎng)景之前,先來(lái)看看Docker這個(gè)工具有什么特別的地方吧。
Docker提供了輕量級(jí)的虛擬化,它幾乎沒(méi)有任何額外開(kāi)銷(xiāo),這個(gè)特性非??帷?/p>
首先你在享有Docker帶來(lái)的虛擬化能力的時(shí)候無(wú)需擔(dān)心它帶來(lái)的額外開(kāi)銷(xiāo)。其次,相比于虛擬機(jī),你可以在同一臺(tái)機(jī)器上創(chuàng)建更多數(shù)量的容器。
Docker的另外一個(gè)優(yōu)點(diǎn)是容器的啟動(dòng)與停止都能在幾秒中內(nèi)完成。Docker公司的創(chuàng)始人 Solomon Hykes曾經(jīng)介紹過(guò)Docker在單純的LXC之上做了哪些事情,你可以去看看。
下面是我總結(jié)的一些Docker的使用場(chǎng)景,它為你展示了如何借助Docker的優(yōu)勢(shì),在低開(kāi)銷(xiāo)的情況下,打造一個(gè)一致性的環(huán)境。
1. 簡(jiǎn)化配置
這是Docker公司宣傳的Docker的主要使用場(chǎng)景。虛擬機(jī)的***好處是能在你的硬件設(shè)施上運(yùn)行各種配置不一樣的平臺(tái)(軟件、系統(tǒng)),Docker在降低額外開(kāi)銷(xiāo)的情況下提供了同樣的功能。它能讓你將運(yùn)行環(huán)境和配置放在代碼中然后部署,同一個(gè)Docker的配置可以在不同的環(huán)境中使用,這樣就降低了硬件要求和應(yīng)用環(huán)境之間耦合度。
2. 代碼流水線(xiàn)(Code Pipeline)管理
前一個(gè)場(chǎng)景對(duì)于管理代碼的流水線(xiàn)起到了很大的幫助。代碼從開(kāi)發(fā)者的機(jī)器到最終在生產(chǎn)環(huán)境上的部署,需要經(jīng)過(guò)很多的中間環(huán)境。而每一個(gè)中間環(huán)境都有自己微小的差別,Docker給應(yīng)用提供了一個(gè)從開(kāi)發(fā)到上線(xiàn)均一致的環(huán)境,讓代碼的流水線(xiàn)變得簡(jiǎn)單不少。
3. 提高開(kāi)發(fā)效率
這就帶來(lái)了一些額外的好處:Docker能提升開(kāi)發(fā)者的開(kāi)發(fā)效率。如果你想看一個(gè)詳細(xì)一點(diǎn)的例子,可以參考Aater在DevOpsDays Austin 2014 大會(huì)或者是DockerCon上的演講。
不同的開(kāi)發(fā)環(huán)境中,我們都想把兩件事做好。一是我們想讓開(kāi)發(fā)環(huán)境盡量貼近生產(chǎn)環(huán)境,二是我們想快速搭建開(kāi)發(fā)環(huán)境。
理想狀態(tài)中,要達(dá)到***個(gè)目標(biāo),我們需要將每一個(gè)服務(wù)都跑在獨(dú)立的虛擬機(jī)中以便監(jiān)控生產(chǎn)環(huán)境中服務(wù)的運(yùn)行狀態(tài)。然而,我們卻不想每次都需要網(wǎng)絡(luò)連接,每次重新編譯的時(shí)候遠(yuǎn)程連接上去特別麻煩。這就是Docker做的特別好的地方,開(kāi)發(fā)環(huán)境的機(jī)器通常內(nèi)存比較小,之前使用虛擬的時(shí)候,我們經(jīng)常需要為開(kāi)發(fā)環(huán)境的機(jī)器加內(nèi)存,而現(xiàn)在Docker可以輕易的讓幾十個(gè)服務(wù)在Docker中跑起來(lái)。
4. 隔離應(yīng)用
有很多種原因會(huì)讓你選擇在一個(gè)機(jī)器上運(yùn)行不同的應(yīng)用,比如之前提到的提高開(kāi)發(fā)效率的場(chǎng)景等。
我們經(jīng)常需要考慮兩點(diǎn),一是因?yàn)橐档统杀径M(jìn)行服務(wù)器整合,二是將一個(gè)整體式的應(yīng)用拆分成松耦合的單個(gè)服務(wù)(譯者注:微服務(wù)架構(gòu))。如果你想了解為什么松耦合的應(yīng)用這么重要,請(qǐng)參考Steve Yege的這篇論文,文中將Google和亞馬遜做了比較。
5. 整合服務(wù)器
正如通過(guò)虛擬機(jī)來(lái)整合多個(gè)應(yīng)用,Docker隔離應(yīng)用的能力使得Docker可以整合多個(gè)服務(wù)器以降低成本。由于沒(méi)有多個(gè)操作系統(tǒng)的內(nèi)存占用,以及能在多個(gè)實(shí)例之間共享沒(méi)有使用的內(nèi)存,Docker可以比虛擬機(jī)提供更好的服務(wù)器整合解決方案。
6. 調(diào)試能力
Docker提供了很多的工具,這些工具不一定只是針對(duì)容器,但是卻適用于容器。它們提供了很多的功能,包括可以為容器設(shè)置檢查點(diǎn)、設(shè)置版本和查看兩個(gè)容器之間的差別,這些特性可以幫助調(diào)試Bug。你可以在《Docker拯救世界》的文章中找到這一點(diǎn)的例證。
7. 多租戶(hù)環(huán)境
另外一個(gè)Docker有意思的使用場(chǎng)景是在多租戶(hù)的應(yīng)用中,它可以避免關(guān)鍵應(yīng)用的重寫(xiě)。我們一個(gè)特別的關(guān)于這個(gè)場(chǎng)景的例子是為IoT(譯者注:物聯(lián)網(wǎng))的應(yīng)用開(kāi)發(fā)一個(gè)快速、易用的多租戶(hù)環(huán)境。這種多租戶(hù)的基本代碼非常復(fù)雜,很難處理,重新規(guī)劃這樣一個(gè)應(yīng)用不但消耗時(shí)間,也浪費(fèi)金錢(qián)。
使用Docker,可以為每一個(gè)租戶(hù)的應(yīng)用層的多個(gè)實(shí)例創(chuàng)建隔離的環(huán)境,這不僅簡(jiǎn)單而且成本低廉,當(dāng)然這一切得益于Docker環(huán)境的啟動(dòng)速度和其高效的diff命令。
你可以在這里了解關(guān)于此場(chǎng)景的更多信息。
8. 快速部署
在虛擬機(jī)之前,引入新的硬件資源需要消耗幾天的時(shí)間。虛擬化技術(shù)(Virtualization)將這個(gè)時(shí)間縮短到了分鐘級(jí)別。而Docker通過(guò)為進(jìn)程僅僅創(chuàng)建一個(gè)容器而無(wú)需啟動(dòng)一個(gè)操作系統(tǒng),再次將這個(gè)過(guò)程縮短到了秒級(jí)。這正是Google和Facebook都看重的特性。
你可以在數(shù)據(jù)中心創(chuàng)建銷(xiāo)毀資源而無(wú)需擔(dān)心重新啟動(dòng)帶來(lái)的開(kāi)銷(xiāo)。通常數(shù)據(jù)中心的資源利用率只有30%,通過(guò)使用Docker并進(jìn)行有效的資源分配可以提高資源的利用率。
本文標(biāo)題:八個(gè)Docker的真實(shí)應(yīng)用場(chǎng)景
轉(zhuǎn)載來(lái)源:http://m.fisionsoft.com.cn/article/cdiepcd.html


咨詢(xún)
建站咨詢(xún)
