3 Docker能幹什麼?

2022-07-27 14:09:25 字數 1499 閱讀 3197

簡化配置

這是docker公司宣傳的docker的主要使用場景。虛擬機器的最大好處是能在你的硬體設施上執行各種配置不一樣的平台(軟體、系統),docker在降低額外開銷的情況下提供了同樣的功能。它能讓你將執行環境和配置放在**中然後部署,同乙個docker的配置可以在不同的環境中使用,這樣就降低了硬體要求和應用環境之間耦合度。

**流水線(code pipeline)管理

前乙個場景對於管理**的流水線起到了很大的幫助。**從開發者的機器到最終在生產環境上的部署,需要經過很多的中間環境。而每乙個中間環境都有自己微小的差別,docker給應用提供了乙個從開發到上線均一致的環境,讓**的流水線變得簡單不少。

提高開發效率

這就帶來了一些額外的好處:docker能提公升開發者的開發效率。詳細一點的例子,可以參考aater在devopsdays austin 2014大會或者是dockercon上的演講。

不同的開發環境中,我們都想把兩件事做好。一是我們想讓開發環境盡量貼近生產環境,二是我們想快速搭建開發環境。

理想狀態中,要達到第乙個目標,我們需要將每乙個服務都跑在獨立的虛擬機器中以便監控生產環境中服務的執行狀態。然而,我們卻不想每次都需要網路連線,每次重新編譯的時候遠端連線上去特別麻煩。這就是docker做的特別好的地方,開發環境的機器通常記憶體比較小,之前使用虛擬的時候,我們經常需要為開發環境的機器加記憶體,而現在docker可以輕易的讓幾十個服務在docker中跑起來。

隔離應用

有很多種原因會讓你選擇在乙個機器上執行不同的應用,比如之前提到的提高開發效率的場景等。

整合伺服器

正如通過虛擬機器來整合多個應用,docker隔離應用的能力使得docker可以整合多個伺服器以降低成本。由於沒有多個作業系統的記憶體占用,以及能在多個例項之間共享沒有使用的記憶體,docker可以比虛擬機器提供更好的伺服器整合解決方案。

調適能力

docker提供了很多的工具,這些工具不一定只是針對容器,但是卻適用於容器。它們提供了很多的功能,包括可以為容器設定檢查點、設定版本和檢視兩個容器之間的差別,這些特性可以幫助除錯bug。你可以在《docker拯救世界》的文章中找到這一點的例證。

多租戶另外乙個docker有意思的使用場景是在多租戶的應用中,它可以避免關鍵應用的重寫。我們乙個特別的關於這個場景的例子是為iot(物聯網)的應用開發乙個快速、易用的多租戶環境。這種多租戶的基本**非常複雜,很難處理,重新規劃這樣乙個應用不但消耗時間,也浪費金錢。

使用docker,可以為每乙個租戶的應用層的多個例項建立隔離的環境,這不僅簡單而且成本低廉,當然這一切得益於docker環境的啟動速度和其高效的diff命令。

詳細可以參考這裡。

快速部署

在虛擬機器之前,引入新的硬體資源需要消耗幾天的時間。docker的虛擬化技術將這個時間降到了幾分鐘,docker只是建立乙個容器程序而無需啟動作業系統,這個過程只需要秒級的時間。這正是google和facebook都看重的特性。

你可以在資料中心建立銷毀資源而無需擔心重新啟動帶來的開銷。通常資料中心的資源利用率只有30%,通過使用docker並進行有效的資源分配可以提高資源的利用率。

WCF能幹什麼?

很久以前,有一家小商店,靠賣些水果過日子。競爭是如此激烈,為了生存,他們不得不自己進貨,把貨堆到自己的房間內,如果顧客需要,他們有時還不得不給顧客送貨,總而言之,他們將所有該幹的活都幹了,只為了能賺到點生活費,這就是艱辛的人生。乙個web程式或者乙個winform程式,簡單模式的程式,我們通常都如那...

VMWare能幹什麼

vmware虛擬機器是個很好的東東,只要我們發揮想象力,就可能為虛擬機器找到乙個更新的作用。我們能用vmware虛擬機器幹什麼呢?1.客戶支援。作為乙個軟體或網路服務商,你的客戶可能使用各種各樣的作業系統。使用vmware有助於真實再現使用者的工作環境,而只須在一台機器上就可完成。2.軟體開發。測試...

ESB 能幹什麼

1.概念 中介軟體技術與xml web服務等技術結合的產物。esb提供了網路中最基本的連線中樞,是構築企業神經系統的必要元素。esb的出現改變了傳統的 軟體架構 可以提供比傳統 中介軟體產品 更為廉價的解決方案,同時它還可以消除不同應用之間的技術差異,讓不同的應用伺服器協調運作,實現了不同服務之間的...