1. 程式人生 > >docker簡介

docker簡介

自己的 完全 red 都是 虛擬機 http color 語言 aik

一、docker簡介

Docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然後發布到任何流行的Linux機器上,也可以實現虛擬化。

容器是完全使用沙箱機制,相互之間不會有任何接口(類似 iPhone app)。幾乎沒有性能開銷,可以很容易地在機器和數據中心中運行。最重要的是,他們不依賴於任何語言、框架或包括系統。

“Docker”應該是2014年最火爆的技術之一,2015年將開啟新的跨越。

Docker 自開源後受到廣泛的關註和討論,以至於 dotCloud 公司後來都改名為 Docker IncRedhat 已經在其 RHEL6.5

中集中支持 DockerGoogle 也在其 PaaS 產品中廣泛應用。

Docker 項目的目標是實現輕量級的操作系統虛擬化解決方案。 Docker 的基礎是 Linux 容器(LXC)等技術。

LXC 的基礎上 Docker 進行了進一步的封裝,讓用戶不需要去關心容器的管理,使得操作更為簡便。用戶操作 Docker 的容器就像操作一個快速輕量級的虛擬機一樣簡單。

下面對比了Docker 和傳統虛擬化(KVMXEN等)方式的不同之處,容器是在操作系統層面上實現虛擬化,直接復用本地主機的操作系統,而傳統方式則是在硬件的基礎上,虛擬出自己的系統,再在系統上部署相關的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簡介