docker是一種輕量級的虛擬化技術,可以讓開發者將企業需要的各種應用及應用依賴文件封裝在Docker鏡像文件中,然后在任何物理設備上安裝運行實現虛擬化,讓應用程序徹底脫離底層設備,可以在物理機之間靈活遷移部署,并減少部署過程中的潛在風險。
本教程操作環境:linux5.9.8系統、docker-1.13.1版、Dell G3電腦。
Docker是一種輕量級的虛擬化技術,同時是一個開源的應用容器運行環境搭建平臺,可以讓開發者以便捷方式打包應用到一個可移植的容器中,然后安裝至任何運行Linux或windows等系統的服務器上。相較于傳統虛擬機,Docker容器提供輕量化的虛擬化方式、安裝便捷、啟停速度快。
為什么需要Docker容器?
虛擬機(Virtual Machine,簡稱VM)的發展,減輕了企業對硬件資源的依賴,它將一臺物理設備虛擬為多個邏輯設備,每個邏輯設備可運行不同的操作系統,并且應用程序都可以在相互獨立的空間內運行而互不影響,從而顯著提高設備的工作效率。然而,傳統VM需要安裝操作系統才能執行應用程序,占用系統資源過多。多數情況下,用戶只需要運行簡單的應用程序,采用VM技術操作繁瑣且造成資源浪費。倘若需要遷移應用服務程序,則需遷移整個VM,因此企業迫切需要輕量級的虛擬化技術。
容器,就是一種輕量級的虛擬化技術,目的和虛擬機一樣,都是為了創造“隔離環境”。但是它不像VM采用操作系統級的資源隔離,容器采用的是進程級的系統隔離。Docker作為創建容器的主流工具,近年來迅速發展,它的優勢在于可以讓開發者將企業需要的各種應用及應用依賴文件封裝在Docker鏡像文件中,然后在任何物理設備(Linux設備或Window設備等)上安裝運行實現虛擬化,讓應用程序徹底脫離底層設備,可以在物理機之間靈活遷移部署,使運維工程師擺脫了繁瑣的環境部署,極大的提高了工作效率,同時減少了部署過程中的潛在風險。
Docker容器具有以下三大特點:
-
輕量化:一臺主機上運行的多個Docker容器可以共享主機操作系統內核;啟動迅速,只需占用很少的計算和內存資源。
-
標準開放:Docker容器基于開放式標準,能夠在所有主流Linux版本、microsoft Windows以及包括VM、裸機服務器和云在內的任何基礎設施上運行。
-
安全可靠:Docker賦予應用的隔離性不僅限于彼此隔離,還獨立于底層的基礎設施。Docker默認提供最強的隔離,因此應用出現問題,也只是單個容器的問題,而不會波及到整臺主機。
docker優勢主要有以下幾個方面:
-
快速交付和部署
使用docker,開發人員可以使用鏡像快速構建一套標準的開發環境;開發完成后,測試和運維人員可以使用完全相同的環境部署代碼,只要是開發測試過的代碼就可以確保在生產環境無縫運行。docker可以快速創建和刪除容器,實現快速迭代。
-
高效的資源利用
運行docker容器不需要額外的虛擬化管理程序的支持,docker是內核級的虛擬化,可以實現更高的性能,同時對資源的額外需求很低。
-
輕松的遷移和擴展
docker容器幾乎可以在任意的平臺上運行,包括物理機、虛擬機、公有云、私有云、服務器等,同時支持主流的操作系統發行版本,這種兼容性讓用戶可以在不同平臺間輕松的遷移應用。
-
簡單的更新管理
使用Dockerfile生成鏡像的方式,只需要小小的配置修改,就可以替代以往大量的更新工作,所有的修改都以增量的方式進行分發和更新,從而實現自動化且高效的容器管理。
docker與虛擬機區別
-
docker作為一種輕量級的虛擬化方式,其在運行應用上跟傳統的虛擬機相比具有如下顯著優勢:
-
docker容器很快,啟動和停止均可以在秒級實現,相比傳統的虛擬機需要數分鐘要快得多
-
docker對系統資源需求很少,一臺主機上可以同時運行數千個Docker容器
-
Docker通過類似git設計理念的操作來方便用戶獲取、分發和更新鏡像,存儲復用,增量更新
-
Docker容器除了運行應用外,基本不消耗額外的系統資源,其應用獲得的是接近原生的性能,傳統虛擬機需要單獨分配內存、磁盤等資源
-
Docker通過Dockerfile支持靈活的自動化創建和部署機制,以提高工作效率并標準化流程
-
Docker方便遷移,將鏡像push到倉庫,可以通過pull鏡像在任何一臺機器上啟動docker
總之,docker比虛擬機更加輕便、使用更加方便
推薦學習:《docker視頻教程》