用于在虛擬化容器中部署和分發(fā)應用程序的Docker開源平臺具有諸多優(yōu)點。本文解釋了企業(yè)應當了解這項流行技術的幾個方面。
Docker容器架構
Docker容器的架構包括裝有主機操作系統(tǒng)的物理機器。主機操作系統(tǒng)上面部署了Docker引擎,引擎有助于構建用來托管運行應用程序的虛擬容器。Docker引擎構建隔離的容器,應用程序就可以部署在這些容器上面。不像典型的虛擬機管理程序解決方案,Docker不需要為每個應用程序構建單獨的虛擬機,也不需要為每個虛擬機安裝來賓操作系統(tǒng)(guest OS)。
在基于虛擬機管理程序的應用程序虛擬化中,虛擬化平臺(比如Hyper-V或VMware)部署在裝有主機操作系統(tǒng)的物理服務器上。虛擬化平臺上構建了虛擬機,每個虛擬機都有獨立的來賓操作系統(tǒng)。應用程序部署在所有這些層上。托管運行那么多的虛擬機(每個虛擬機都有獨立的來賓操作系統(tǒng))讓這種架構對資源的需求量比Docker容器大得多。
容器自動化
Docker容器通常提供了內置工具,使容器配置過程實現(xiàn)自動化,為此它可以利用來自任何現(xiàn)有應用程序容器的源代碼。這需要處理服務、依賴項、封裝及更多操作。Docker還提供了一系列廣泛的預先配置的Docker映像,可以幫助企業(yè)組織快速部署應用程序容器。
為了實現(xiàn)同樣這一系列任務,任何虛擬機管理程序解決方案都需要一套復雜的程序,包括將應用程序連同依賴項和工具一同克隆到隔離的程序包中。
計算資源需求
在Docker容器中,應用程序直接建立在Docker引擎上,因而不需要來賓操作系統(tǒng)。這項功能有助于減少托管運行多個來賓操作系統(tǒng)的總體系統(tǒng)要求(比如處理器或內存)。這還減少了對計算資源的需求,因而降低了部署成本。不像Docker容器,基于虛擬機管理程序的應用程序需要額外的來賓操作系統(tǒng)以及應用程序實際運行所需要的其他依賴項。
硬件兼容性
借助Docker容器,管理員就能構建應用程序,沒必要考慮來賓操作系統(tǒng)方面的任何依賴項。這使得應用程序具有輕量級、運行快、開銷低的優(yōu)點,同時消除了潛在的平臺兼容性問題。
在虛擬機管理程序解決方案中,每個虛擬機專用的來賓操作系統(tǒng)使得響應起來比Docker容器應用程序成本更高、速度更慢。在特定虛擬機管理程序平臺中構建的任何虛擬機無法在其他虛擬機管理程序平臺上運行。
企業(yè)級功能
雖然許多企業(yè)組織已經開始使用Docker容器用于應用程序虛擬化,但這項技術仍缺少一些企業(yè)級虛擬化功能,比如細粒度訪問控制、容器遷移、日志和備份恢復等。而大多數虛擬機管理程序平臺支持諸如此類的企業(yè)級功能。如果企業(yè)組織在考慮將虛擬化應用程序部署到生產環(huán)境中,建議使用虛擬機管理程序解決方案,就因為這一點:基于Docker的解決方案在提供企業(yè)級功能方面有所欠缺。
供應商
現(xiàn)在有許多供應商提供關于容器技術的產品和服務。從2013年起,負責Docker開源項目的商業(yè)公司Docker,Inc.,開始主導容器虛擬化的市場。最近,包括擁有LXD技術的Canonical以及擁有Rocket技術的CoreOS等其他供應商,也開始進入容器市場。
原文標題:Docker containers 9 fundamental facts