Docker及虛擬化簡(jiǎn)介

虛擬化技術(shù)

虛擬化技術(shù)是一個(gè)通用的概念,在計(jì)算機(jī)領(lǐng)域一般指的是計(jì)算虛擬化,或通常說(shuō)的服務(wù)器虛擬化。虛擬化是一種資源管理技術(shù),將計(jì)算機(jī)的各種實(shí)體資源比如:cpu、內(nèi)存、網(wǎng)絡(luò)、存儲(chǔ)等進(jìn)行抽象,轉(zhuǎn)換呈現(xiàn)出來(lái),來(lái)解決實(shí)體結(jié)構(gòu)間不可切割的問(wèn)題,使用戶對(duì)資源重新組裝來(lái)提高資源使用率。它的目標(biāo)通常是為了在一臺(tái)主機(jī)上運(yùn)行多個(gè)系統(tǒng)或應(yīng)用,從而提高系統(tǒng)資源利用率,降低成本,方便管理和容災(zāi)備份等。

虛擬化技術(shù)分類

虛擬化技術(shù)可以分為基于硬件的虛擬化和基于軟件的虛擬化技術(shù)。基于硬件的虛擬化技術(shù)不多,基于軟件的虛擬化技術(shù)又可分為應(yīng)用虛擬化和平臺(tái)虛擬化。應(yīng)用虛擬化一般指模擬設(shè)備或wine軟件。平臺(tái)虛擬化可分為:

  • 完全虛擬化:虛擬機(jī)模擬底層的完整是的硬件和指令。比如VMware這類虛擬機(jī)。
  • 硬件輔助虛擬化:利用硬件輔助支持處理敏感指令來(lái)實(shí)現(xiàn)完全虛擬化的功能。比如VMware workstation。
  • 部分虛擬化:只針對(duì)部分硬件進(jìn)行虛擬化,客戶操作系統(tǒng)需要進(jìn)行修改。早期的虛擬化技術(shù)。
  • 超級(jí)虛擬化:部分硬件操作接口以軟件的形式提供給客戶操作系統(tǒng),客戶操作系統(tǒng)需要進(jìn)行修改。
  • 操作系統(tǒng)級(jí)虛擬化:內(nèi)核創(chuàng)建多個(gè)虛擬的操作系統(tǒng)實(shí)例,來(lái)隔離不同的進(jìn)程。容器技術(shù)就是屬于這個(gè)。
虛擬化技術(shù)

Docker與傳統(tǒng)虛擬化的區(qū)別

傳統(tǒng)虛擬化技術(shù)是在硬件資源級(jí)別的虛擬化,需要有虛擬機(jī)管理程序和虛擬機(jī)操作系統(tǒng)。而Docker直接建立在操作系統(tǒng)上虛擬化,直接復(fù)用本地操作系統(tǒng),更加輕量級(jí)。

區(qū)別

Docker是什么?

Docker是基于Go語(yǔ)言開(kāi)發(fā)的開(kāi)源項(xiàng)目,Build Ship and Run Any App,Anywhere是Docker的目標(biāo),也就是對(duì)應(yīng)用封裝、分發(fā)、部署、運(yùn)行生命周期進(jìn)行管理,使應(yīng)用組件可以一次封裝,到處運(yùn)行。對(duì)于開(kāi)發(fā)者而言,解決了“我的機(jī)器能夠運(yùn)行”的問(wèn)題;對(duì)于運(yùn)營(yíng)商用Docker來(lái)管理應(yīng)用,對(duì)應(yīng)用進(jìn)行隔離,來(lái)獲得更好的計(jì)算密度;對(duì)于企業(yè)使用Docker能夠建立敏捷的軟件交付管道??梢钥吹紻ocker用途還是很廣泛的。

核心概念

在了解Docker前,我們需要先知道幾個(gè)概念。

  • 鏡像(image):鏡像是一個(gè)輕量級(jí)、獨(dú)立、可執(zhí)行的包,它包含了運(yùn)行一個(gè)軟件所需要的一切,包括代碼、運(yùn)行環(huán)境、類庫(kù)、環(huán)境變量、配置文件等。
  • 容器(container):容器用來(lái)執(zhí)行和隔離應(yīng)用,容器中運(yùn)行的應(yīng)用(app)天然的運(yùn)行在主機(jī)內(nèi)核上,所以它比虛擬機(jī)具有更好的性能。容器可以本地訪問(wèn),每一個(gè)運(yùn)行的容器都是一個(gè)獨(dú)立的進(jìn)程,不需要更多的內(nèi)存執(zhí)行其它東西。
  • Docker倉(cāng)庫(kù):Docker倉(cāng)庫(kù)類似于代碼倉(cāng)庫(kù),是專門存放鏡像的地方。他與注冊(cè)服務(wù)器(Registry)不是同一個(gè)概念,注冊(cè)服務(wù)器是存放倉(cāng)庫(kù)的位置,其上可能有多個(gè)倉(cāng)庫(kù),每一個(gè)倉(cāng)庫(kù)存放某一類景象,而這類景象通過(guò)tag進(jìn)行區(qū)分。比如ubuntu倉(cāng)庫(kù)、Centos倉(cāng)庫(kù)。
    Docker倉(cāng)庫(kù)可分為公開(kāi)倉(cāng)庫(kù)和私有倉(cāng)庫(kù),目前最大的公開(kāi)倉(cāng)庫(kù)是Docker hub,存放龐大的鏡像供下載。用戶也可以創(chuàng)建一個(gè)私有倉(cāng)庫(kù),共內(nèi)部使用,類似于git。

Docker安裝

Docker支持Linux、MacOs、Windows、云環(huán)境的安裝,可以參考:
https://docs.docker.com/engine/installation/ 進(jìn)行相應(yīng)的安裝。

Docker版本

最近Docker版本發(fā)生重大變化,分為社區(qū)版(CE)和企業(yè)版(EE),版本也從1.13.x一躍到17.03。
之后,Docker 會(huì)每月發(fā)布一個(gè) edge 版本(17.03, 17.04, 17.05...),每三個(gè)月發(fā)布一個(gè) stable 版本(17.03, 17.06, 17.09...),企業(yè)版(EE) 和 stable 版本號(hào)保持一致,但每個(gè)版本提供一年維護(hù)。

功能提供
平臺(tái)支持
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容