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的常用用途有哪些?
1、簡化配置
這是Docker初始目的,虛擬機VM最大的好處是基于你的應用配置能夠無縫運行在任何平臺上。Docker提供同樣類似VM的能力,但是沒有任何副作用,它能讓你將環境和配置放入代碼然后部署,同樣的Docker配置能夠在各種環境中使用,這實際是將應用環境和底層環境實現了解耦。
2、代碼管道化管理
能夠對代碼以流式pipeline管道化進行管理,從開發者的機器到生產環境機器這個流程中都能有效管理。因為在這個流程中會有各種不同的環境,每個都可能有微小的區別,Docker提供了跨越這些異構環境以一致性的微環境,從開發到部署實現流暢發布。
3、開發人員的生產化
在一個開發環境,我們希望我們的開發環境能更加接近于生產環境,我們會讓每個服務運行在自己的VM中,這樣能模擬生產環境,比如有時我們并不總是需要跨越網絡連接,這樣我們可以將多個Docker裝載一系列服務運行在單機上最大程度模擬生產分布式部署的環境。
4、應用隔離
有很多理由你需要在一臺機器上運行多個應用,這就需要將原來鐵板一塊monolithic的應用切分為很多微服務。實現應用之間的解耦,將多個應用服務部署在多個Docker中能輕松達到這個目的。
5、服務合并
使用Docker也能合并多個服務以降低費用,不多的操作系統內存占用,跨實例共享多個空閑的內存,這些技術Docker能以更加緊密資源提供更有效的服務合并。
6、多租戶
Docker能夠作為云計算的多租戶容器,使用Docker能容易為每個租戶創建運行應該多個實例,這得益其靈活的快速環境以及有效diff命令。
快速部署
Docker通過創建進程的容器,不必重新啟動操作系統,幾秒內能關閉,你可以在數據中心創建或銷毀資源,不用擔心額外消耗。典型的數據中心利用率是30%,通過更積極的資源分配,以低成本方式對一個新的實例實現一個更聚合的資源分配,我們很容易超過這個利用率,大大提高數據中心的利用效率。
以上就是小編的分享,希望可以幫助到大家。