1. 程式人生 > Docker入門教學 >Docker 有哪些優點?

Docker 有哪些優點?

前面的小節我們學習了一些前置知識和 Docker 的基本原理,那麼,你可能會問了:Docker 到底有哪些優點呢?我們為什麼要學習 Docker 呢?彆著急,這節課我們就來細數下 Docker 的優點:

1. 更好的安全性

如果伺服器上啟動了多個服務,這些服務可能會相互影響的,每一個服務都能看到其他服務的程序,也可以訪問宿主機器上的任意檔案,這種情況下,一旦伺服器上的某一個服務被入侵,那麼入侵者就可能訪問到當前機器上所有的服務和檔案,使用 Docker 則可以有效避免這種問題的發生。

2. 更高效地利用系統資源

由於容器不需要進行硬體虛擬化以及執行完整作業系統等額外開銷,Docker 對系統資源的利用率更高。無論是應用執行速度、記憶體損耗以及檔案儲存速度,都要比傳統虛擬機器技術更高效。

3. 更快的啟動時間

傳統的虛擬機器技術啟動應用服務往往需要數分鐘, Docker 容器由於直接運行於宿主核心,無需啟動完整的作業系統,因此可以超快啟動容器應用。節約了開發、測試和部署的時間。

4. 一致的執行環境

開發過程中有一個令人頭疼的問題是環境一致性問題。由於開發環境、測試環境、生產環境不一致,導致有些 Bug 並未在開發過程中被發現。而 Docker 的映象提供了除核心外完整的執行時環境,確保了應用執行環境一致性。

5. 持續交付和部署

使用 Docker可以通過定製應用映象來實現持續整合、持續交付、部署。開發者可以通過 Dockerfile 來進行映象構建,並結合持續整合系統進行整合測試,運維則可以直接在生產環境中快速部署該映象,結合持續部署系統進行自動部署。

6. 更輕鬆地遷移

由於 Docker 確保了執行環境的一致性,使得應用的遷移更加容易。Docker可以在很多平臺上執行,無論是物理機、虛擬機器、公有云、私有云,其執行結果是一致的。使用者可以很輕易地將應用遷移到另一個平臺上,不用擔心執行環境的變化。

7. 更輕鬆地維護和擴充套件

Docker 使用的分層儲存以及映象的技術,使得應用重複部分的複用更為容易,也使得應用的維護更新更加簡單,基於基礎映象進一步擴充套件映象也變得非常簡單。Docker團隊同各個開源專案團隊一起維護了一大批高質量的官方映象,既可以直接在生產環境使用,又可以作為基礎進一步定製,大大的降低了應用服務的映象製作成本。

8. 對比傳統虛擬機器

特性 容器 虛擬機器
啟動 秒級 分鐘級
硬碟使用 MB GB
效能 接近原生 弱於原生

9. 小結

Docker 比 傳統的物理機、虛擬機器和傳統的 PaaS 服務都更具優勢,我們選擇 Docker 的目的其實很簡單,就是利用它的功能和生態帶來的提升我們的工作效率。