綜合知識

當前位置 /首頁/綜合知識 > /列表

docker鏡像的作用

docker的好處是什麼,讓我們一起了解一下?

Docker的9大好處分別是:

1、替代虛擬機(VM)

Docker可以在很多情況下替代虛擬機。如果用户只關心應用程序而不是操作系統,可以用Docker替代虛擬機,把操作系統交給其他人去考慮。Docker不僅啟動速度比虛擬機快,遷移時也更為輕量,同時得益於它的分層文件系統,與其他人共享變更時更簡單、更快捷。而且,它牢牢地紮根在命令行中,非常適合腳本化。

2、軟件原型

如果想快速體驗軟件,同時避免干擾目前的設置或配備一台虛擬機帶來的麻煩,Docker可以在幾毫秒內提供一個沙盒環境。在親身體驗之前,用户很難感受到這種解放的效果。

3、打包軟件

因為對Linux用户而言,Docker鏡像實際上沒有依賴,所以非常適合用於打包軟件。用户可以構建鏡像,並確保它可以運行在任何現代Linux機器上——就像Java一樣,但不需要JVM。

4、讓微服務架構成為可能

Docker 有助於將一個複雜系統分解成一系列可組合的部分,這讓用户可以用更離散的方式來思考其服務。用户可以在不影響全局的前提下重組軟件,使其各部分更易於管理和可插拔。

5、網絡建模

由於可以在一台機器上啟動數百個(甚至數千個)相互隔離的容器,因此對網絡進行建模輕而易舉。這對於現實世界場景的測試非常有用,而且所費無幾。

6、離線時啟用全棧生產力

因為可以將系統的所有部分捆綁在Docker容器中,所以用户可以將其編排運行在筆記本電腦中移動辦公,即便在離線時也毫無問題。

7、降低調試支出

不同團隊之間關於軟件交付的複雜談判在業內司空見慣。我們親身經歷過不計其數的這類討論:失效的庫、有問題的依賴、更新被錯誤實施或是執行順序有誤,甚至可能根本沒執行以及無法重現的錯誤等。估計讀者也遇到過這些問題。Docker讓用户可以清晰地説明(即便是以腳本的形式)在一個屬性已知的系統上調試問題的步驟,錯誤和環境重現變得更簡單,而且通常與所提供的宿主機環境是分離的。

8、文檔化軟件依賴及接觸點

通過使用結構化方式構建鏡像,為遷移到不同環境做好準備,Docker 強制用户從一個基本出發點開始明確地記錄軟件依賴。即使用户不打算在所有地方都使用Docker,這種文檔記錄也有助於在其他地方安裝軟件。

9、啟用持續交付

持續交付(continuous delivery,CD)是一個基於流水線的軟件交付範型,該流水線通過一個自動化(或半自動化)流程在每次變動時重新構建系統然後交付到生產環境中。

因為用户可以更準確地控制構建環境的狀態,Docker 構建比傳統軟件構建方法更具有可重現性和可複製性。使持續交付的實現變得更容易。通過實現一個以Docker為中心的可重現的構建過程,標準的持續交付技術,如藍/綠部署(blue/green deployment,在生產環境中維護“生產”和“最新”部署)和鳳凰部署(phoenix deployment,每次發佈時都重新構建整個系統)變得很簡單。

docker鏡像的作用

Docker的常用用途有哪些?

1、簡化配置

這是Docker初始目的,虛擬機VM最大的好處是基於你的應用配置能夠無縫運行在任何平台上。Docker提供同樣類似VM的能力,但是沒有任何副作用,它能讓你將環境和配置放入代碼然後部署,同樣的Docker配置能夠在各種環境中使用,這實際是將應用環境和底層環境實現瞭解耦。

2、代碼管道化管理

能夠對代碼以流式pipeline管道化進行管理,從開發者的機器到生產環境機器這個流程中都能有效管理。因為在這個流程中會有各種不同的環境,每個都可能有微小的區別,Docker提供了跨越這些異構環境以一致性的微環境,從開發到部署實現流暢發佈。

3、開發人員的生產化

在一個開發環境,我們希望我們的開發環境能更加接近於生產環境,我們會讓每個服務運行在自己的VM中,這樣能模擬生產環境,比如有時我們並不總是需要跨越網絡連接,這樣我們可以將多個Docker裝載一系列服務運行在單機上最大程度模擬生產分佈式部署的環境。

4、應用隔離

有很多理由你需要在一台機器上運行多個應用,這就需要將原來鐵板一塊monolithic的應用切分為很多微服務。實現應用之間的解耦,將多個應用服務部署在多個Docker中能輕鬆達到這個目的。

5、服務合併

使用Docker也能合併多個服務以降低費用,不多的操作系統內存佔用,跨實例共享多個空閒的內存,這些技術Docker能以更加緊密資源提供更有效的服務合併。

6、多租户

Docker能夠作為雲計算的多租户容器,使用Docker能容易為每個租户創建運行應該多個實例,這得益其靈活的快速環境以及有效diff命令。

快速部署

Docker通過創建進程的容器,不必重新啟動操作系統,幾秒內能關閉,你可以在數據中心創建或銷燬資源,不用擔心額外消耗。典型的數據中心利用率是30%,通過更積極的資源分配,以低成本方式對一個新的實例實現一個更聚合的資源分配,我們很容易超過這個利用率,大大提高數據中心的利用效率。

TAG標籤:鏡像 docker #