Docker容器的由來(lái)-創(chuàng)新互聯(lián)

今天小編給大家分享的是Docker容器的由來(lái)的詳細(xì)介紹,相信大部分人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,話不多說(shuō),一起往下看吧。

創(chuàng)新互聯(lián)建站-專(zhuān)業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性?xún)r(jià)比漠河網(wǎng)站開(kāi)發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式漠河網(wǎng)站制作公司更省心,省錢(qián),快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋漠河地區(qū)。費(fèi)用合理售后完善,10多年實(shí)體公司更值得信賴(lài)。

一、docker的介紹

2010年dotCloud公司在舊金山成立,PAAS平臺(tái)的服務(wù)供應(yīng)商;2013年dotCloud更名為Docker股份有限公司(Docker,Inc)。Docker公司專(zhuān)注開(kāi)源容器引擎的開(kāi)發(fā),他們的容器引擎產(chǎn)品就叫docker,基于go語(yǔ)言,并遵從Apache2.0協(xié)議。

Docker容器的由來(lái)

創(chuàng)始人 Solomon

上一篇文章我們跟大家介紹了什么是容器技術(shù),容器技術(shù)的底層支持其實(shí)就是Linux Container(LXC)技術(shù),LXC技術(shù)在 linux 2.6 的 kernel 里就已經(jīng)存在了,但是LXC設(shè)計(jì)之初并非為專(zhuān)門(mén)為PAAS云計(jì)算考慮的,所以LXC缺少一些標(biāo)準(zhǔn)化的管理手段,那時(shí)候LXC想用好非常費(fèi)勁。于是,docker發(fā)現(xiàn)了這點(diǎn),然后針對(duì)LXC做了上層標(biāo)準(zhǔn)管理方面的支持,讓LXC更加好用。

那么為什么dotCloud公司能發(fā)現(xiàn)這個(gè)機(jī)遇搞出個(gè)docker然后聲名大噪呢?就像為什么馬云能在中國(guó)、在合適的時(shí)間創(chuàng)立了阿里巴巴,做了中國(guó)首富... 其實(shí),這都是時(shí)代的造就。我們深入分析IT架構(gòu)的發(fā)展變革史就能明白一些東西了。

早期,我們IT行業(yè)要成功開(kāi)發(fā)出一個(gè)產(chǎn)品,那么要關(guān)心的的東西太多了。機(jī)房選址、服務(wù)器硬件、網(wǎng)絡(luò)設(shè)備、布線、上架、裝系統(tǒng)、搭環(huán)境、開(kāi)發(fā)、測(cè)試... 只要是跟IT相關(guān)的你都得去關(guān)心安排好。這個(gè)時(shí)期是傳統(tǒng)IT管理與建設(shè)的初期,IT資源成本很高,涉及的人才成本也高。

Docker容器的由來(lái)

圖1 早期機(jī)房建設(shè)和維護(hù)工作

云計(jì)算IAAS時(shí)代,AWS、騰訊云、阿里云的出現(xiàn)解決了早期傳統(tǒng)IT管理的痛苦,用戶(hù)有了云將不再面對(duì)硬件底層管理的問(wèn)題,開(kāi)發(fā)和測(cè)試都是在云主機(jī)上操作。然而,云主機(jī)就是一個(gè)個(gè)不一樣的操作系統(tǒng),硬件底層管理問(wèn)題沒(méi)有了,但是中間件相關(guān)的問(wèn)題依然存在!IT運(yùn)維人員要為開(kāi)發(fā)測(cè)試人員提供完善的、穩(wěn)定的云主機(jī)環(huán)境,這個(gè)過(guò)程也是相對(duì)復(fù)雜的,因?yàn)殚_(kāi)發(fā)測(cè)試人員要求的環(huán)境也是多種多樣,IT運(yùn)維人員需要花費(fèi)一定的時(shí)間和精力去維護(hù)和完善。當(dāng)前大部分公司還是處在這個(gè)階段。

Docker容器的由來(lái)

虛擬機(jī) vs 容器 架構(gòu)區(qū)別

容器PAAS時(shí)代,這個(gè)時(shí)代即將到來(lái)!(其實(shí),已經(jīng)來(lái)了)。容器技術(shù)的出現(xiàn)就是為了解決上面兩個(gè)時(shí)期遺留的痛點(diǎn)問(wèn)題。有了容器技術(shù),開(kāi)發(fā)者更加專(zhuān)注于程序的開(kāi)發(fā)和測(cè)試,開(kāi)發(fā)結(jié)束后能快速方便的把開(kāi)發(fā)好的APP遷移到另外一個(gè)容器環(huán)境里。簡(jiǎn)單來(lái)說(shuō),開(kāi)發(fā)人員只需為應(yīng)用創(chuàng)建一次運(yùn)行環(huán)境,就可以在任何環(huán)境里運(yùn)行;Build Once, Run Anywhere。對(duì)于IT運(yùn)維人員來(lái)說(shuō),也是好事!再也不用苦逼的為開(kāi)發(fā)人員搞一套又一套不一樣的開(kāi)發(fā)環(huán)境了,搞出一套PAAS平臺(tái),隨便讓開(kāi)發(fā)使,他們?cè)僭趺凑垓v也不會(huì)改變底層的東西,所以不用花大力氣去維護(hù)這些環(huán)境;Configure Once, Run Anything。既然這個(gè)容器PAAS這么牛逼,那么想做的人也是非常多,docker公司之所以能占領(lǐng)先機(jī)搞定,主要是因?yàn)樗谶@領(lǐng)域有一定的積累,之前也跟CoreOS合作過(guò)(CoreOS也是做容器技術(shù)方面很牛的公司,后來(lái)跟docker分道揚(yáng)鑣,Rocket是CoreOS發(fā)布的跟docker競(jìng)爭(zhēng)的產(chǎn)品)。所以,在云計(jì)算PAAS風(fēng)口上,docker在合適的時(shí)間通過(guò)自己的技術(shù)積累發(fā)布了這套開(kāi)源容器管理引擎,想不出名也難了!

二、 docker的組成架構(gòu)

docker設(shè)想是交付運(yùn)行環(huán)境如同海運(yùn),OS如同一個(gè)貨輪,每一個(gè)在OS基礎(chǔ)上的軟件都如同一個(gè)集裝箱,用戶(hù)可以通過(guò)標(biāo)準(zhǔn)化手段自由組裝運(yùn)行環(huán)境,同時(shí)集裝箱的內(nèi)容可以由用戶(hù)自定義,也可以由專(zhuān)業(yè)人員制造。這樣,交付一個(gè)軟件,就是一系列標(biāo)準(zhǔn)化組件的集合的交付,如同樂(lè)高積木,用戶(hù)只需要選擇合適的積木組合,并且在最頂端署上自己的名字(最后個(gè)標(biāo)準(zhǔn)化組件是用戶(hù)的app)。

要實(shí)現(xiàn)這樣的集裝箱貨輪海運(yùn)的功能,那么docker是如何去設(shè)計(jì)如何區(qū)做的呢?我們先從docker的架構(gòu)說(shuō)起。

docker主要由以下模塊組成:

  • Docker 客戶(hù)端 - Client

  • Docker 服務(wù)器 - Docker daemon

  • Docker 鏡像 - Image

  • Docker 倉(cāng)庫(kù) - Registry

  • Docker 容器 - Container

Docker容器的由來(lái)

docker經(jīng)典架構(gòu)圖

Docker 采用的是 (C/S) 架構(gòu)模式,使用遠(yuǎn)程REST API來(lái)管理和創(chuàng)建Docker容器。既然是采用REST模式,所以客戶(hù)端和服務(wù)端可以不用在一個(gè)host上,可以分布式管理部署。

Docker 客戶(hù)端 - Client

docker的客戶(hù)端分命令和API兩種類(lèi)型。docker 的命令一般在系統(tǒng)安裝好docker包后就可以使用,linux下直接是docker開(kāi)頭,可以用docker --help命令查看所有能運(yùn)行的命令。docker的命令也非常好記,跟linux命令一樣,用多了自然就會(huì)了;而且學(xué)習(xí)docker最好的也是從命令入手。

docker的API一般是寫(xiě)腳本或者開(kāi)發(fā)的時(shí)候用比較多,而且都是REST風(fēng)格的,用命令交互的話可以結(jié)合CURL使用。用API能做創(chuàng)建、刪除、修改、查詢(xún)等一系列操作,不過(guò)還得結(jié)合編程語(yǔ)言使用才會(huì)比較強(qiáng)大。

Docker 服務(wù)器 - Docker daemon

docker daemon就是docker的主服務(wù),docker.service。在linux操作系統(tǒng)下,安裝好了docker服務(wù)我們就可以使用systemctl start/status/stop docker.service去操作docker的服務(wù)。這個(gè)服務(wù)非常重要,如果你系統(tǒng)的docker.service存在異常,那么你的所有docker關(guān)聯(lián)的組件都會(huì)出錯(cuò)。

Docker 鏡像 - Image

docker的鏡像這個(gè)很容易理解,如果你玩過(guò)vmware或者openstack的話就很容易懂了,vmware和openstack都有鏡像模版的概念,我們要衍生創(chuàng)建虛擬機(jī),就可以通過(guò)鏡像模版來(lái)快速部署和生成相同類(lèi)型的VM。docker的image也是一個(gè)道理,通過(guò)不同類(lèi)型的模版,比如redis鏡像、nginx鏡像來(lái)快速創(chuàng)建出容器。好比復(fù)制克隆,只要資源夠,想生成多少就多少。生成出新的容器你可以使用,然后到時(shí)候你又可以打包成鏡像。有了鏡像這個(gè)功能,為生產(chǎn)提供了很好的打包、迭代、傳遞方式。

Docker 倉(cāng)庫(kù) - Registry

Registry就是倉(cāng)庫(kù)的意思,我們上面提到docker有鏡像,那么鏡像會(huì)因?yàn)闃I(yè)務(wù)的需要以不同類(lèi)型的方式存在。所以,這么多類(lèi)型的鏡像如果沒(méi)有一個(gè)很好的機(jī)制去管理,那么肯定會(huì)亂套。好比一生產(chǎn)車(chē)間,生產(chǎn)需要各種各樣的螺絲釘、齒輪等配件,如果沒(méi)有一個(gè)很好的倉(cāng)庫(kù)管理員負(fù)責(zé)對(duì)配件進(jìn)行管理,那么車(chē)間里將亂七八糟。同樣的,docker 鏡像也需要標(biāo)準(zhǔn)化管理,那么負(fù)責(zé)這塊功能的模塊就是Registry。不過(guò),要注意的是Registry分共有和私有兩種。Docker Hub(https://hub.docker.com/) 是默認(rèn)的 Registry,由 Docker 公司自己維護(hù),上面有數(shù)以萬(wàn)計(jì)的鏡像,用戶(hù)可以自由下載和使用。 不過(guò),使用公有鏡像速度會(huì)很慢(加上GFW的原因),一般公司內(nèi)部使用docker的話都得搭建私有倉(cāng)庫(kù),不然很影響效率。

Docker 容器 - Container

Container就是容器實(shí)例了,類(lèi)比KVM生成的虛擬機(jī)。Container是運(yùn)行時(shí)狀態(tài),我們可以通過(guò)docker命令和API去控制和改變Container的狀態(tài),比如start、stop等等。上面所講的client、daemon、image 和registry都是為了Container的運(yùn)行穩(wěn)定而服務(wù)的。

以上就是Docker容器的由來(lái)的詳細(xì)介紹了,看完之后是否有所收獲呢?如果想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊!

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。

網(wǎng)頁(yè)題目:Docker容器的由來(lái)-創(chuàng)新互聯(lián)
URL網(wǎng)址:http://muchs.cn/article22/coecjc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、小程序開(kāi)發(fā)、服務(wù)器托管、App開(kāi)發(fā)、品牌網(wǎng)站制作、網(wǎng)站內(nèi)鏈

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化