Docker虛擬化技術(shù)入門
Docker 是一個(gè)開源的應(yīng)用容器引擎,讓開發(fā)者可以打包他們的應(yīng)用以及依賴包到一個(gè)可移植的容器中,然后發(fā)布到任何流行的Linux機(jī)器上,也可以實(shí)現(xiàn)虛擬化。
容器是完全使用沙箱機(jī)制,相互之間不會(huì)有任何接口(類似 iPhone 的 app)。幾乎沒有性能開銷,可以很容易地在機(jī)器和數(shù)據(jù)中心中運(yùn)行。最重要的是,他們不依賴于任何語言、框架或包括系統(tǒng)。
“Docker”應(yīng)該是2014年最火爆的技術(shù)之一,如果沒有聽說過,那么你就out了,2015年將開啟新的跨越。
Docker 自開源后受到廣泛的關(guān)注和討論,以至于 dotCloud 公司后來都改名為 Docker Inc。Redhat 已經(jīng)在其 RHEL6.5 中集中支持 Docker;Google 也在其PaaS 產(chǎn)品中廣泛應(yīng)用。
Docker 項(xiàng)目的目標(biāo)是實(shí)現(xiàn)輕量級(jí)的操作系統(tǒng)虛擬化解決方案。 Docker 的基礎(chǔ)是 Linux 容器(LXC)等技術(shù)。
在 LXC 的基礎(chǔ)上 Docker 進(jìn)行了進(jìn)一步的封裝,讓用戶不需要去關(guān)心容器的管理,使得操作更為簡便。用戶操作 Docker 的容器就像操作一個(gè)快速輕量級(jí)的虛擬機(jī)一樣簡單。
下面對(duì)比了Docker 和傳統(tǒng)虛擬化(KVM、XEN等)方式的不同之處,容器是在操作系統(tǒng)層面上實(shí)現(xiàn)虛擬化,直接復(fù)用本地主機(jī)的操作系統(tǒng),而傳統(tǒng)方式則是在硬件的基礎(chǔ)上,虛擬出自己的系統(tǒng),再在系統(tǒng)上部署相關(guān)的APP應(yīng)用。
下圖為傳統(tǒng)虛擬化方案:

如下為Docker虛擬化方案:

Docker虛擬化有三個(gè)概念需要理解,分別鏡像、容器、倉庫。
1) 鏡像:docker的鏡像其實(shí)就是模板,跟我們常見的ISO鏡像類似,是一個(gè)樣板。
2) 容器:使用鏡像常見的應(yīng)用或者系統(tǒng),我們稱之為一個(gè)容器。
3) 倉庫:倉庫是存放鏡像的地方,分為公開倉庫(Public)和私有倉庫(Private)兩種形式。
1.Docker虛擬化特點(diǎn)
跟傳統(tǒng)VM比較具有如下優(yōu)點(diǎn):
1) 操作啟動(dòng)快
運(yùn)行時(shí)的性能可以獲取極大提升,管理操作(啟動(dòng),停止,開始,重啟等等)都是以秒或毫秒為單位的。
2) 輕量級(jí)虛擬化
你會(huì)擁有足夠的“操作系統(tǒng)”,僅需添加或減小鏡像即可。在一臺(tái)服務(wù)器上可以布署100~1000個(gè)Containers容器。但是傳統(tǒng)虛擬化,你虛擬10-20個(gè)虛擬機(jī)就不錯(cuò)了。
3) 開源免費(fèi)
開源的,免費(fèi)的,低成本的。由現(xiàn)代Linux內(nèi)核支持并驅(qū)動(dòng)。注* 輕量的Container必定可以在一個(gè)物理機(jī)上開啟更多“容器”,注定比VMs要便宜。
4) 前景及云支持
正在越來越受歡迎,包括各大主流公司都在推動(dòng)docker的快速發(fā)展,性能有很大的優(yōu)勢。
跟傳統(tǒng)VM比較具有如下缺點(diǎn):
1) 目前知道的人比較少
2) 相關(guān)的技術(shù)資料欠缺
3) Go語言還沒完全成熟
本文出自 “吳光科-京峰Linux運(yùn)維培訓(xùn)” 博客,請(qǐng)務(wù)必保留此出處http://wgkgood.blog.51cto.com/1192594/1609552