Docker是一個開源的應(yīng)用容器引擎,讓開發(fā)者可以打包他們的應(yīng)用以及依賴包到一個可移植的容器中,該容器包含了應(yīng)用程序的代碼、運行環(huán)境、依賴庫、配置文件等必需的資源,通過容器就可以實現(xiàn)方便快速并且與平臺解耦的自動化部署方式,無論你部署時的環(huán)境如何,容器中的應(yīng)用程序都會運行在同一種環(huán)境下。Docker的優(yōu)勢具體有哪些?1、Docker啟動快速屬于秒級別。虛擬機通常需要幾分鐘去啟動。2、Docker需要的資源更少,Docker在操作系統(tǒng)級別進行虛擬化,Docker容器和內(nèi)核交互,幾乎沒有性能損耗,性能優(yōu)于通過Hypervisor層與內(nèi)核層的虛擬化。

3、Docker更輕量,Docker的架構(gòu)可以共用一個內(nèi)核與共享應(yīng)用程序庫,所占內(nèi)存極小。同樣的硬件環(huán)境,Docker運行的鏡像數(shù)遠多于虛擬機數(shù)量,對系統(tǒng)的利用率非常高。4、與虛擬機相比,Docker隔離性更弱,Docker屬于進程之間的隔離,虛擬機可實現(xiàn)系統(tǒng)級別隔離。5、安全性:Docker的安全性也更弱。Docker的租戶root和宿主機root等同,一旦容器內(nèi)的用戶從普通用戶權(quán)限提升為root權(quán)限,它就直接具備了宿主機的root權(quán)限,進而可進行無限制的操作。6、可管理性:Docker的集中化管理工具還不算成熟。各種虛擬化技術(shù)都有成熟的管理工具,例如VMware vCenter提供完備的虛擬機管理能力。7、高可用和可恢復(fù)性:Docker對業(yè)務(wù)的高可用支持是通過快速重新部署實現(xiàn)的。8、快速創(chuàng)建、刪除:虛擬化創(chuàng)建是分鐘級別的,Docker容器創(chuàng)建是秒級別的,Docker的快速迭代性,決定了無論是開發(fā)、測試、部署都可以節(jié)約大量時間。9、交付、部署:虛擬機可以通過鏡像實現(xiàn)環(huán)境交付的一致性,但鏡像分發(fā)無法體系化。Docker在Dockerfile中記錄了容器構(gòu)建過程,可在集群中實現(xiàn)快速分發(fā)和快速部署。