docker,你真正懂了嗎属划?

docker是PaaS提供商dotCloud開源的一個(gè)基于LXC的高級(jí)容器引擎恬叹,基于go語言并遵循Apache2.0協(xié)議,源碼托管于GitHub同眯。

docker解決什么問題

docker解決什么問題绽昼?容器是怎么運(yùn)行的?和虛機(jī)有什么不同须蜗?老外眼里的container是集裝箱不是中國人說的容器硅确。docker有哪些優(yōu)缺點(diǎn)?

容器和虛機(jī)的不同

虛機(jī)有自己的OS操作系統(tǒng)明肮,獨(dú)立于主機(jī)OS菱农,宿主型hypervisor將虛機(jī)當(dāng)作一個(gè)個(gè)進(jìn)程運(yùn)行在主機(jī)上,虛機(jī)內(nèi)核可以和主機(jī)不同柿估。

宿主型hypervisor包括開源OpenStack的kvm循未,VMware的vSphere,微軟的Hyper-V秫舌、思杰Citrix的XenServer 的妖、IBM的PowerVM烙丛、Red Hat的Enterprise Virtulization、華為的FusionSphere羔味,中興的TECS KVM河咽。

裸機(jī)型hypervisor本文先不介紹。

虛機(jī)運(yùn)行在宿主型hypervisor

容器之間共享主機(jī)的OS操作系統(tǒng)赋元,容器引擎將容器當(dāng)作一個(gè)個(gè)進(jìn)程運(yùn)行在主機(jī)上忘蟹,虛機(jī)內(nèi)核是使用的主機(jī)內(nèi)核,因此依賴于主機(jī)內(nèi)核版本搁凸,且不便于升級(jí)媚值。

容器引擎包括docker,CoreOS的rkt和Mesos的Mesos containerizer护糖。當(dāng)然主流還是docker褥芒。

容器運(yùn)行在docker上

容器運(yùn)行在host操作系統(tǒng)的用戶空間,與操作系統(tǒng)其他進(jìn)程隔離嫡良。在容器啟動(dòng)時(shí)不需要啟動(dòng)內(nèi)核空間锰扶,所以啟動(dòng)時(shí)比虛機(jī)較快,開銷少寝受,易遷移坷牛。

對(duì)比完虛機(jī)和容器的不同,我們還是回到主咖docker來介紹很澄。

Docker 將集裝箱思想(分類管理貨物京闰,不受運(yùn)輸時(shí)外界帶來的損壞)運(yùn)用到軟件打包(容器特性build onece can run anywhere意味著環(huán)境隔離,運(yùn)行一次后打包可在其他環(huán)境上運(yùn)行)上甩苛,為代碼提供了一個(gè)基于容器的標(biāo)準(zhǔn)化運(yùn)輸系統(tǒng)蹂楣。

docker并不是全能的,局限在于無法在33位的Windows/Linux環(huán)境下使用讯蒲,基于Linux 64位的痊土。cgroup的CPU和CPUset提供的CPU功能相比KVM等虛擬化方案難以度量(dotCloud主要按照內(nèi)存收費(fèi)),docker對(duì)磁盤管理能力有限爱葵,container隨著用戶進(jìn)程的停止銷毀導(dǎo)致用戶log不便收集施戴。docker網(wǎng)絡(luò)管理簡(jiǎn)單,主要是基于namespace隔離萌丈。

docker架構(gòu)篇

docker架構(gòu)篇Docker 采用的是 Client/Server 架構(gòu)赞哗,包含client,docker daemon服務(wù)端辆雾,image鏡像肪笋,registry軟件倉庫,docker container共5部分√僖遥客戶端向服務(wù)器發(fā)送請(qǐng)求猜揪,服務(wù)器負(fù)責(zé)構(gòu)建、運(yùn)行和分發(fā)容器坛梁《悖客戶端和服務(wù)器可以運(yùn)行在同一個(gè) Host 上,客戶端也可以通過 socket 或 REST API 與遠(yuǎn)程的服務(wù)器通信划咐。

docker架構(gòu)
docker鏡像篇

docker如何構(gòu)建鏡像什么是base鏡像拴念?Linux系統(tǒng)包含內(nèi)核空間kernel和用戶空間rootfs兩部分,容器只使用各自的rootfs但共用host的kernel褐缠,這就產(chǎn)生鏡像結(jié)構(gòu)分成政鼠,但為何產(chǎn)生鏡像結(jié)構(gòu)分層如何查查看鏡像分層結(jié)構(gòu)队魏?

Linux 操作系統(tǒng)組成

所有容器都共用 host 的 kernel公般,在容器中沒辦法對(duì) kernel 升級(jí)。

容器共用host的內(nèi)核

base 鏡像有兩層含義:不依賴其他鏡像胡桨,從 scratch 構(gòu)建官帘。其他鏡像可以之為基礎(chǔ)進(jìn)行擴(kuò)展。base鏡像最小到10M登失,是不是很神奇遏佣,你見過這么精簡(jiǎn)鏡像嘛?

新鏡像從 base 鏡像一層一層疊加生成的揽浙,每安裝一個(gè)軟件,就在現(xiàn)有鏡像的基礎(chǔ)上增加一層意敛。如果多個(gè)鏡像從相同的 base 鏡像構(gòu)建而來馅巷,那么 Docker Host 只需在磁盤上保存一份 base 鏡像,同時(shí)內(nèi)存中也只需加載一份 base 鏡像草姻,就可以為所有容器服務(wù)了钓猬,而且鏡像的每一層都可以被共享。

鏡像分層結(jié)構(gòu)

如果多個(gè)容器共享一份基礎(chǔ)鏡像撩独,當(dāng)某個(gè)容器修改了基礎(chǔ)鏡像的內(nèi)容敞曹,比如 /etc 下的文件,這時(shí)其他容器的 /etc 是否也會(huì)被修改综膀?

這當(dāng)然不行澳迫,也就產(chǎn)生了可寫的容器層。當(dāng)容器啟動(dòng)時(shí)剧劝,一個(gè)新的可寫層被加載到鏡像的頂部橄登。這一層通常被稱作“容器層”,“容器層”之下的都叫“鏡像層”。

可寫的容器層

鏡像的分層結(jié)構(gòu)即鏡像制作過程中的操作拢锹,通過docker history 鏡像名稱即可谣妻。

了解完理論,該實(shí)踐了卒稳!

It is docker time!

下期預(yù)告“docker實(shí)踐篇“!

docker hello world蹋半!-已新鮮出爐了!

docker can run anywhere in the pod!

docker image!

docker storage!

docker cpu and memory!

docker network!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末充坑,一起剝皮案震驚了整個(gè)濱河市减江,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌匪傍,老刑警劉巖您市,帶你破解...
    沈念sama閱讀 211,743評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異役衡,居然都是意外死亡茵休,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門手蝎,熙熙樓的掌柜王于貴愁眉苦臉地迎上來榕莺,“玉大人,你說我怎么就攤上這事棵介《ぱ欤” “怎么了?”我有些...
    開封第一講書人閱讀 157,285評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵邮辽,是天一觀的道長(zhǎng)唠雕。 經(jīng)常有香客問我,道長(zhǎng)吨述,這世上最難降的妖魔是什么岩睁? 我笑而不...
    開封第一講書人閱讀 56,485評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮揣云,結(jié)果婚禮上捕儒,老公的妹妹穿的比我還像新娘。我一直安慰自己邓夕,他們只是感情好刘莹,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,581評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著焚刚,像睡著了一般点弯。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上汪榔,一...
    開封第一講書人閱讀 49,821評(píng)論 1 290
  • 那天蒲拉,我揣著相機(jī)與錄音肃拜,去河邊找鬼。 笑死雌团,一個(gè)胖子當(dāng)著我的面吹牛燃领,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播锦援,決...
    沈念sama閱讀 38,960評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼猛蔽,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了灵寺?” 一聲冷哼從身側(cè)響起曼库,我...
    開封第一講書人閱讀 37,719評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎略板,沒想到半個(gè)月后毁枯,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,186評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡叮称,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,516評(píng)論 2 327
  • 正文 我和宋清朗相戀三年种玛,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片瓤檐。...
    茶點(diǎn)故事閱讀 38,650評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡赂韵,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出挠蛉,到底是詐尸還是另有隱情祭示,我是刑警寧澤,帶...
    沈念sama閱讀 34,329評(píng)論 4 330
  • 正文 年R本政府宣布谴古,位于F島的核電站质涛,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏掰担。R本人自食惡果不足惜蹂窖,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,936評(píng)論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望恩敌。 院中可真熱鬧,春花似錦横媚、人聲如沸纠炮。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,757評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽恢口。三九已至,卻和暖如春穷躁,著一層夾襖步出監(jiān)牢的瞬間耕肩,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,991評(píng)論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留猿诸,地道東北人婚被。 一個(gè)月前我還...
    沈念sama閱讀 46,370評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像梳虽,于是被迫代替她去往敵國和親址芯。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,527評(píng)論 2 349

推薦閱讀更多精彩內(nèi)容

  • Docker — 云時(shí)代的程序分發(fā)方式 要說最近一年云計(jì)算業(yè)界有什么大事件窜觉?Google Compute Engi...
    ahohoho閱讀 15,511評(píng)論 15 147
  • 寫這篇文章主要是為了今后畢業(yè)論文素材上的整理谷炸,同時(shí)對(duì)docker進(jìn)行鞏固溫習(xí)。大綱: docker簡(jiǎn)介docker...
    胡圖仙人閱讀 7,400評(píng)論 2 96
  • 一禀挫、Docker 簡(jiǎn)介 Docker 兩個(gè)主要部件:Docker: 開源的容器虛擬化平臺(tái)Docker Hub: 用...
    R_X閱讀 4,382評(píng)論 0 27
  • 生命的依托和歸宿旬陡,是冰冷絢麗的奇幻海洋——依靠想象,人魚在深海游走的畫面语婴,甚至對(duì)于人魚如何睡覺之類的猜想描孟,一定都是...
    影迷迷影閱讀 1,070評(píng)論 0 9
  • 深夜餃子館不只是在深夜才開張,老板娘每天早上7點(diǎn)就要把店里的玻璃門打開腻格,一直到深夜3點(diǎn)画拾。 在餃子館你不能隨意點(diǎn)單,...
    歌舒不帶刀閱讀 984評(píng)論 0 1