隨著云計算的崛起和不斷發(fā)展,“云計算”這個詞幾乎已經(jīng)家喻戶曉,而在云計算領域,Docker是開發(fā)者需要具備的基本技能之一。那么,你知道什么是Docker嗎?
什么是Docker?
Docker是一個開源的應用容器引擎,讓開發(fā)者可以打包他們的應用以及依賴包到一個可移植的容器中,該容器包含了應用程序的代碼、運行環(huán)境、依賴庫、配置文件等必需的資源,通過容器就可以實現(xiàn)方便快速并且與平臺解耦的自動化部署方式,無論你部署時的環(huán)境如何,容器中的應用程序都會運行在同一種環(huán)境下。
容器是現(xiàn)代軟件交付的未來,Docker便是目前使用最廣泛的容器之一,它作為輕量級虛擬化技術,擁有持續(xù)集成、版本控制、可移植性、隔離性和安全性等優(yōu)勢。
Docker的優(yōu)勢具體有哪些?
1、Docker啟動快速屬于秒級別。虛擬機通常需要幾分鐘去啟動。
2、Docker需要的資源更少,Docker在操作系統(tǒng)級別進行虛擬化,Docker容器和內(nèi)核交互,幾乎沒有性能損耗,性能優(yōu)于通過Hypervisor層與內(nèi)核層的虛擬化。
3、Docker更輕量,Docker的架構可以共用一個內(nèi)核與共享應用程序庫,所占內(nèi)存極小。同樣的硬件環(huán)境,Docker運行的鏡像數(shù)遠多于虛擬機數(shù)量,對系統(tǒng)的利用率非常高。
4、與虛擬機相比,Docker隔離性更弱,Docker屬于進程之間的隔離,虛擬機可實現(xiàn)系統(tǒng)級別隔離。
5、安全性:Docker的安全性也更弱。Docker的租戶root和宿主機root等同,一旦容器內(nèi)的用戶從普通用戶權限提升為root權限,它就直接具備了宿主機的root權限,進而可進行無限制的操作。
6、可管理性:Docker的集中化管理工具還不算成熟。各種虛擬化技術都有成熟的管理工具,例如VMware vCenter提供完備的虛擬機管理能力。
7、高可用和可恢復性:Docker對業(yè)務的高可用支持是通過快速重新部署實現(xiàn)的。
8、快速創(chuàng)建、刪除:虛擬化創(chuàng)建是分鐘級別的,Docker容器創(chuàng)建是秒級別的,Docker的快速迭代性,決定了無論是開發(fā)、測試、部署都可以節(jié)約大量時間。
9、交付、部署:虛擬機可以通過鏡像實現(xiàn)環(huán)境交付的一致性,但鏡像分發(fā)無法體系化。Docker在Dockerfile中記錄了容器構建過程,可在集群中實現(xiàn)快速分發(fā)和快速部署。
在初步了解過Docker以后,你有沒有對云計算開發(fā)工具有了更深的了解呢?