【Linux】八個Docker的真實應用場景

簡化配置、代碼流水線管理、提高開發效率、隔離應用、整合服務器、調試能力、多租戶環境、快速部署分別是docker的8個使用場景

這裏寫圖片描述

Docker特性

  • Docker提供了輕量級的虛擬化
  • 在同一臺機器上創建更多數量的容器
  • 容器的啓動與停止都能在幾秒中內完成

1. 簡化配置

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

2. 代碼流水線(Code Pipeline)管理

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

3. 提高開發效率

不同的開發環境中,我們都想把兩件事做好。一是我們想讓開發環境儘量貼近生產環境,二是我們想快速搭建開發環境。
理想狀態中,要達到第一個目標,我們需要將每一個服務都跑在獨立的虛擬機中以便監控生產環境中服務的運行狀態。然而,我們卻不想每次都需要網絡連接,每次重新編譯的時候遠程連接上去特別麻煩。這就是Docker做的特別好的地方,開發環境的機器通常內存比較小,之前使用虛擬的時候,我們經常需要爲開發環境的機器加內存,而現在Docker可以輕易的讓幾十個服務在Docker中跑起來。

4. 隔離應用

有很多種原因會讓你選擇在一個機器上運行不同的應用,比如之前提到的提高開發效率的場景等。
我們經常需要考慮兩點,一是因爲要降低成本而進行服務器整合,二是將一個整體式的應用拆分成松耦合的單個服務(譯者注:微服務架構)。

5. 整合服務器

正如通過虛擬機來整合多個應用,Docker隔離應用的能力使得Docker可以整合多個服務器以降低成本。由於沒有多個操作系統的內存佔用,以及能在多個實例之間共享沒有使用的內存,Docker可以比虛擬機提供更好的服務器整合解決方案。

6. 調試能力

Docker提供了很多的工具,這些工具不一定只是針對容器,但是卻適用於容器。它們提供了很多的功能,包括可以爲容器設置檢查點、設置版本和查看兩個容器之間的差別,這些特性可以幫助調試Bug。

7. 多租戶環境

另外一個Docker有意思的使用場景是在多租戶的應用中,它可以避免關鍵應用的重寫。我們一個特別的關於這個場景的例子是爲IoT(譯者注:物聯網)的應用開發一個快速、易用的多租戶環境。這種多租戶的基本代碼非常複雜,很難處理,重新規劃這樣一個應用不但消耗時間,也浪費金錢。
使用Docker,可以爲每一個租戶的應用層的多個實例創建隔離的環境,這不僅簡單而且成本低廉,當然這一切得益於Docker環境的啓動速度和其高效的diff命令。

8. 快速部署

在虛擬機之前,引入新的硬件資源需要消耗幾天的時間。虛擬化技術(Virtualization)將這個時間縮短到了分鐘級別。而Docker通過爲進程僅僅創建一個容器而無需啓動一個操作系統,再次將這個過程縮短到了秒級。


譯文轉載
原文出處
docker論壇

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章