Docker是一種容器眶明,相對于vmware這種重量級的虛擬化技術(shù)來說艰毒,docker一種輕量級的虛擬化技術(shù)。是一個能把開發(fā)的應(yīng)用程序自動部署到容器搜囱,并相互隔離的一種開源的引擎现喳。和vmware硬件級別的虛擬化不同的是,docker的基于系統(tǒng)級別的虛擬化出來的環(huán)境是基于宿主機的犬辰,而虛擬機可以虛擬出一套和宿主機完全不同的系統(tǒng)來
Docker容器和虛擬機對比
虛擬機需要依賴hypervisor(系統(tǒng)管理程序嗦篱,常見的又vmware, virtulaBox)幌缝,以及guestOS(centos灸促,ubuntu)才能創(chuàng)建虛擬的操作環(huán)境,而docker只需要宿主機上有dokcer engine就可以創(chuàng)建虛擬的操作環(huán)境涵卵。docker啟動容器可以做到秒級別浴栽,而且資源占用少,一般的一臺服務(wù)器能夠支持的容器數(shù)據(jù)要遠多于虛擬機的數(shù)據(jù)轿偎,因為docker容器簡潔典鸡,直接使用的是宿主機的系統(tǒng),相比于docker容器虛擬機過于臃腫坏晦,每一個虛擬機就需要是一套完全獨立系統(tǒng)資源萝玷,所以性能上docker容器因為不用維護系統(tǒng)級別的進程,性能要優(yōu)于虛擬機
Docker核心組件
docker采用的是c/s架構(gòu)昆婿,具有客戶端和服務(wù)端球碉,他主要包含三大組件
image(鏡像)
- 鏡像是構(gòu)建docker世界的基石,也是docker生命周期的“構(gòu)建”部分仓蛆。
- 鏡像可以當做是容器的源代碼睁冬,可以簡單的理解為安裝系統(tǒng)是的鏡像文件
- 鏡像的體積小,非晨锤恚“便攜”豆拨,易于分享直奋、存儲和更新
Registry(倉庫)
- docker使用registry里保存用戶和官方的鏡像,registry分公有和私有施禾,類似于maven倉庫公有和私有的概念
- 可以簡單的理解為一個倉庫脚线,registry就是鏡像的倉庫
- Docker官方運營的registry叫做docker hub
Container(容器)
- container是基于鏡像啟動的,容器中可以運行一個或者是多個進程
- 倉庫里面存放著鏡像拾积,基于鏡像可以啟動容器