docker簡介
一、docker簡介
Docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然後發布到任何流行的Linux機器上,也可以實現虛擬化。
容器是完全使用沙箱機制,相互之間不會有任何接口(類似 iPhone 的 app)。幾乎沒有性能開銷,可以很容易地在機器和數據中心中運行。最重要的是,他們不依賴於任何語言、框架或包括系統。
“Docker”應該是2014年最火爆的技術之一,2015年將開啟新的跨越。
Docker 自開源後受到廣泛的關註和討論,以至於 dotCloud 公司後來都改名為 Docker Inc。Redhat 已經在其 RHEL6.5
Docker 項目的目標是實現輕量級的操作系統虛擬化解決方案。 Docker 的基礎是 Linux 容器(LXC)等技術。
在 LXC 的基礎上 Docker 進行了進一步的封裝,讓用戶不需要去關心容器的管理,使得操作更為簡便。用戶操作 Docker 的容器就像操作一個快速輕量級的虛擬機一樣簡單。
下面對比了Docker 和傳統虛擬化(KVM、XEN等)方式的不同之處,容器是在操作系統層面上實現虛擬化,直接復用本地主機的操作系統,而傳統方式則是在硬件的基礎上,虛擬出自己的系統,再在系統上部署相關的APP應用。
下圖為傳統虛擬化方案:
如下為Docker虛擬化方案:
Docker虛擬化有三個概念需要理解,分別鏡像、容器、倉庫。
1) 鏡像:docker的鏡像其實就是模板,跟我們常見的ISO鏡像類似,是一個樣板。
2) 容器:使用鏡像常見的應用或者系統,我們稱之為一個容器。
3) 倉庫:倉庫是存放鏡像的地方,分為公開倉庫(Public)和私有倉庫(Private)兩種形式。
二、 Docker虛擬化特點
跟傳統VM比較具有如下優點:
1) 操作啟動快
運行時的性能可以獲取極大提升,管理操作(啟動,停止,開始,重啟等等) 都是以秒或毫秒為單位的。
2) 輕量級虛擬化
你會擁有足夠的“操作系統”,僅需添加或減小鏡像即可。在一臺服務器上可以布署100~1000個Containers容器。但是傳統虛擬化,你虛擬10-20個虛擬機就不錯了。
3) 開源免費
開源的,免費的,低成本的。由現代Linux內核支持並驅動。註* 輕量的Container必定可以在一個物理機上開啟更多“容器”,註定比VMs要便宜。
4) 前景及雲支持
正在越來越受歡迎,包括各大主流公司都在推動docker的快速發展,性能有很大的優勢。
跟傳統VM比較具有如下缺點:
1) 目前知道的人比較少
2) 相關的技術資料欠缺
3) Go語言還沒完全成熟
docker簡介