国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

初識(shí)docker

2019-11-14 13:13:41
字體:
供稿:網(wǎng)友

Docker經(jīng)過這么幾年的發(fā)展,到如今更是火熱到即使你沒吃過豬也見過豬跑的地步,本節(jié)會(huì)給大家介紹docker的一些含義,讓大家了解docker

什么是Docker

Docker是一個(gè)開放源代碼軟件項(xiàng)目,讓應(yīng)用程序布署在軟件容器下的工作可以自動(dòng)化進(jìn)行,借此在linux操作系統(tǒng)上,提供一個(gè)額外的軟件抽象層,以及操作系統(tǒng)層虛擬化的自動(dòng)管理機(jī)制。Docker利用Linux核心中的資源分離機(jī)制,例如cgroups,以及Linux核心命名空間(name space),來建立獨(dú)立的軟件容器(containers)。這可以在單一Linux實(shí)體下運(yùn)作,避免啟動(dòng)一個(gè)虛擬機(jī)器造成的額外負(fù)擔(dān)。

——摘自維基百科

Docker到底牛逼在哪里

docker的中文含義 碼頭工人 ,這個(gè)翻譯初看會(huì)覺得很怪異,其實(shí)官方取名這個(gè)名字有包含隱喻的意思在內(nèi).

我們?cè)倏纯磀ocker的logo,一頭像船的鯨魚上面裝載著許許多多的箱子,結(jié)合* 碼頭工人* 的意思,我們其實(shí)可以想到* 集裝箱* 這個(gè)概念, 集裝箱 是全球物流系統(tǒng)中一個(gè)非常重要的發(fā)明,他帶來了物流的規(guī)范化,統(tǒng)一化,極大的節(jié)約了人力物理和時(shí)間成本。

圖示

集裝箱的作用

我們可以想想在集裝箱這個(gè)定義出來之前的貨物運(yùn)輸:貨物一箱箱的搬上貨車送到附近的火車站,然后一箱箱卸下,再一箱箱的搬上火車運(yùn)送到附近的碼頭…

上述的過程中不難發(fā)現(xiàn)大量的人力和時(shí)間成本都花費(fèi)在一箱箱的搬運(yùn)上面,在運(yùn)輸速度一定的情況下,裝卸就成為了物流的瓶頸。

在* 集裝箱 *出現(xiàn)后這個(gè)問題得到了極大的改善。集裝箱重要在它提供了一種通用的封裝貨物的標(biāo)準(zhǔn)規(guī)格(尺寸,外形符合統(tǒng)一標(biāo)準(zhǔn)),這樣就產(chǎn)生了一個(gè)巨大的優(yōu)點(diǎn):在物流運(yùn)輸中只需要在運(yùn)輸前一次封裝,集裝箱就可以放上火車,卡車,拉到碼頭,直接放在貨船上;卸船之后直接再放上火車,卡車,運(yùn)送到目的地。而且由于集裝箱符合統(tǒng)一標(biāo)準(zhǔn),整個(gè)流程非常容易機(jī)械化,這引發(fā)了以集裝箱為中心的整個(gè)全球物流的標(biāo)準(zhǔn)化進(jìn)程,從而節(jié)省了大量的時(shí)間資源和人力資源,成本迅速下降,促進(jìn)了全球資源的流動(dòng)與重新配置。

Docker與集裝箱

docker就像碼頭的工人一樣,把應(yīng)用打包為一個(gè)個(gè)封裝好的標(biāo)準(zhǔn)集裝箱,就是大家口中經(jīng)常鏡像文件。那docker為業(yè)內(nèi)帶來了什么呢?

docker誕生以前,運(yùn)維的蠻荒時(shí)代

以前我們搭建一個(gè)網(wǎng)站,你可能會(huì)裝php,MySQL,Apache等等一堆軟件,好花費(fèi)大半天的時(shí)間這個(gè)網(wǎng)站能正常運(yùn)行起來了。

一段時(shí)間后我們需要更高的PHP版本來搭建一個(gè)其他類型的網(wǎng)站,版本沖突了咋整?一番google后,費(fèi)了九牛二虎之力兩個(gè)網(wǎng)站終于能共同運(yùn)行了。

老板后來告訴你由于網(wǎng)站太火爆了我們需要換一臺(tái)服務(wù)器遷移過去,于是你又不得不巴拉巴拉的折騰一番將所有的環(huán)境重新配置一遍。

老板小手一拍,我們要優(yōu)化我們的服務(wù),在全國(guó)各地都建立節(jié)點(diǎn)提供服務(wù),你掰一掰的你手指頭發(fā)現(xiàn)有數(shù)不清的環(huán)境需要搭建,你的內(nèi)心是崩潰的。

docker出現(xiàn)后,我們步入了工業(yè)時(shí)代

就和 集裝箱 一樣,docker為我們帶來的是標(biāo)準(zhǔn),具體一點(diǎn)說就是鏡像。在docker當(dāng)中鏡像其實(shí)就是你把一大包工具打包成一個(gè)集裝箱交于docker運(yùn)行,鏡像與鏡像之間互不影響(集裝箱與集裝箱之間也是互不影響運(yùn)輸)。

在docker中,鏡像是無法直接運(yùn)行的,我猜想這并不是技術(shù)上的原因,而是工程設(shè)計(jì)上的原因。因?yàn)橐话銇碚f,一個(gè)軟件的某個(gè)具體版本只會(huì)打包成一個(gè)鏡像。如果鏡像可以配置,運(yùn)行的話,在使用過程中很可能會(huì)對(duì)鏡像造成破壞。

那怎么樣避免這個(gè)問題呢,就是再加一層,也就是相當(dāng)于用了分身術(shù),只要本尊沒問題,分身怎么撲街都不會(huì)真正的跪掉。多加的這一層分身,就叫容器(Container),這個(gè)名字也挺形象,它就像個(gè)盒子一樣,你的應(yīng)用在里面運(yùn)行,而且多了一層安全機(jī)制。你想使用服務(wù)或把你的應(yīng)用跑起來的話,只需要使用鏡像新創(chuàng)建一個(gè)容器就可以了(也是一條命令搞定),而鏡像還放在那里不動(dòng),沒辦法,金貴嘛。

docker究竟做了什么?

docker正是在部署過程中,將上面那些重復(fù)的部分,由docker自動(dòng)化完成。只需要在第一次部署時(shí),構(gòu)建完可用的docker鏡像。然后在以后使用的過程中,短短的幾行命令,就可以直接拉取鏡像,根據(jù)這個(gè)鏡像創(chuàng)建出一個(gè)容器,把服務(wù)跑起來了。所需要的僅僅是安裝了docker的服務(wù)器,一個(gè)Dockerfile文件,以及比較流暢的網(wǎng)絡(luò)而已。真可謂 一次構(gòu)建,到處部署 。

需要nginx,直接pull nginx鏡像完事遷移服務(wù)器?直接下載一個(gè)非常小的Dockerfile,安裝一個(gè)docker環(huán)境即可,簡(jiǎn)單的不能在簡(jiǎn)單多個(gè)版本共存?新建一個(gè)鏡像,愛用哪個(gè)版本用哪個(gè),容器的隔離性讓我們就是這么任性

到這個(gè)地方,你可能已經(jīng)發(fā)現(xiàn)了,docker鏡像成為了一種像集裝箱那樣的標(biāo)準(zhǔn)貨件。它不像傳統(tǒng)的軟件交付方式那樣,只把代碼以及說明文檔之類的給你就完了,而是直接給你一個(gè)標(biāo)準(zhǔn)docker貨件,它可能是Dockerfile,或者直接就是鏡像,這個(gè)標(biāo)準(zhǔn)件不僅包括了代碼本身,還包括了代碼運(yùn)行的OS等各種整體環(huán)境。

于是,誰想用我的服務(wù),直接拉取鏡像,實(shí)例化一個(gè)容器就可以了,能直接提供你所要的服務(wù),不再像之前那樣有繁復(fù)的安裝過程————這些都有人給你做過了。

與傳統(tǒng)虛擬機(jī)對(duì)比

有人可能會(huì)說,這些不是虛擬機(jī)都做到了么,還要docker干嘛?

傳統(tǒng)虛擬機(jī)就像一個(gè)老爺爺,走路晃晃悠悠,還需要分配資源,給予照顧才行。反觀docker則像是一個(gè)健步如飛的年輕小伙子,干啥事都是一個(gè)字* 快*。

容器不需要進(jìn)行硬件虛擬以及運(yùn)行完整操作系統(tǒng)等額外開銷,Docker 對(duì)系統(tǒng)資源的利用率更高。無論是應(yīng)用執(zhí)行速度、內(nèi)存損耗或者文件存儲(chǔ)速度,都要比傳統(tǒng)虛擬機(jī)技術(shù)更高效。因此,相比虛擬機(jī)技術(shù),一個(gè)相同配置的主機(jī),往往可以運(yùn)行更多數(shù)量的應(yīng)用。傳統(tǒng)的虛擬機(jī)技術(shù)啟動(dòng)應(yīng)用服務(wù)往往需要數(shù)分鐘,而 Docker 容器應(yīng)用,由于直接運(yùn)行于宿主內(nèi)核,無需啟動(dòng)完整的操作系統(tǒng),因此可以做到秒級(jí)、甚至毫秒級(jí)的啟動(dòng)時(shí)間。大大的節(jié)約了開發(fā)、測(cè)試、部署的時(shí)間。Docker 使用的分層存儲(chǔ)以及鏡像的技術(shù),使得應(yīng)用重復(fù)部分的復(fù)用更為容易,也使得應(yīng)用的維護(hù)更新更加簡(jiǎn)單,基于基礎(chǔ)鏡像進(jìn)一步擴(kuò)展鏡像也變得非常簡(jiǎn)單。此外,Docker 團(tuán)隊(duì)同各個(gè)開源項(xiàng)目團(tuán)隊(duì)一起維護(hù)了一大批高質(zhì)量的官方鏡像,既可以直接在生產(chǎn)環(huán)境使用,又可以作為基礎(chǔ)進(jìn)一步定制,大大的降低了應(yīng)用服務(wù)的鏡像制作成本。

下圖是docker與傳統(tǒng)虛擬機(jī)性能對(duì)比。

圖示

轉(zhuǎn)自: http://xgfe.github.io/2016/12/21/scliuyang/docker1/?utm_source=tuicool&utm_medium=referral


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 凤山市| 玛纳斯县| 安阳县| 册亨县| 景泰县| 宜章县| 紫金县| 布尔津县| 托克托县| 稻城县| 安阳县| 右玉县| 双柏县| 长兴县| 建水县| 兴国县| 桂林市| 凤山市| 开鲁县| 农安县| 仙游县| 阿鲁科尔沁旗| 莱州市| 马山县| 阳山县| 天台县| 澄城县| 毕节市| 广水市| 霍邱县| 翼城县| 崇左市| 集安市| 湖南省| 陇南市| 康平县| 二手房| 乐陵市| 湟中县| 手机| 绥德县|