Docker學習筆記 -- Docker基本原理與應(yīng)用場景

作者:__lifanxin
鏈接:https://blog.csdn.net/A951860555/article/details/109982889
來源:CSDN
著作權(quán)歸作者所有魄健,任何形式的轉(zhuǎn)載都請聯(lián)系作者罪既。

Docker簡介

為啥會出現(xiàn)Docker脐供?

??在以往的傳統(tǒng)開發(fā)過程中伐债,開發(fā)工程師負責代碼的編寫舶替,將在本地開發(fā)環(huán)境中運行無誤的代碼交由測試人員測試或者進一步交給運維人員進行部署。由于只給了代碼,而測試人員或者運維人員所使用的運行環(huán)境往往和開發(fā)工程師的開發(fā)環(huán)境不一樣,所以會產(chǎn)生一系列由于環(huán)境不同而導致的問題巍实。所以要解決這一問題就需要在開發(fā)和測試中部署一樣的環(huán)境,如果僅僅依靠傳統(tǒng)的部署方式:新裝一個相同的系統(tǒng)哩牍,配置相同的組件等等棚潦,這樣很耗費時間,而Docker的出現(xiàn)就巧妙的解決了這一問題膝昆。

Docker是什么丸边?

??Docker是基于Go語言實現(xiàn)的云開源項目,它是一個開源的應(yīng)用容器引擎(關(guān)于容器虛擬技術(shù)荚孵,后面會講)妹窖,讓開發(fā)者可以打包他們的應(yīng)用以及依賴包到一個可移植的鏡像中,然后發(fā)布到任何流行的Linux或Windows機器上收叶,也可以實現(xiàn)虛擬化骄呼。容器是完全使用沙箱機制,相互之間不會有任何接口判没。

更多詳細的介紹可以參見[百度百科]

虛擬機技術(shù)和容器虛擬技術(shù)

??相信各位都是使用過虛擬機吧蜓萄,它就是一個應(yīng)用軟件,但可以在原來的宿主機上虛擬出新的操作系統(tǒng)澄峰,還能虛擬相應(yīng)的硬件嫉沽。所以其實虛擬機也是一種帶環(huán)境安裝的解決方案,也能解決上面開發(fā)和測試人員面臨的問題俏竞,但裝一個虛擬機比在服務(wù)器上直接部署節(jié)約不了多少時間耻蛇。
??由于虛擬機存在一定的缺點,所以衍生出了容器虛擬技術(shù)胞此。Docker使用的就是容器虛擬技術(shù)臣咖,容器虛擬技術(shù)不是模擬一個完整的操作系統(tǒng),而是對進程實現(xiàn)隔離漱牵。它將軟件運行所需要的所有資源打包到一個隔離的容器中夺蛇,不用一整套的操作系統(tǒng),也不需要多余的硬件配置酣胀,所以容器虛擬技術(shù)高效輕量刁赦。
??因此Docker有著比虛擬機更少的抽象層,不用實現(xiàn)硬件資源的虛擬化闻镶,在CPU甚脉、內(nèi)存利用率上更有效率;其次其使用的是宿主機的內(nèi)核铆农,Docker的容器虛擬技術(shù)不需要重新加載一個操作系統(tǒng)內(nèi)核牺氨,從而避免了這個耗時的過程。因此效率上Docker是秒級的,而虛擬機是分鐘級的猴凹。
??下面的表展示了虛擬機和Docker容器技術(shù)的一些區(qū)別:

虛擬機技術(shù) Docker
宿主機上運行虛擬機OS 與宿主機共享OS
鏡像龐大 鏡像小夷狰,便于存儲與運輸
資源占用多 資源占用少
可以虛擬硬件 沒有虛擬硬件
啟動慢 啟動快
笨重,移植性差 輕便郊霎、靈活沼头、高度可移植性

Docker詳解

Docker三大要素

Docker架構(gòu)圖

??Docker中有三個重要的概念即三大要素:倉庫、鏡像书劝、容器进倍。
??我們對照著上面的Docker架構(gòu)圖來進行分析,從右往左開始:最右邊是Registry购对,Registry代表Docker遠程倉庫的注冊服務(wù)器背捌,這里面存放著很多遠程的Repository(倉庫)。每個倉庫里面會存放很多可用的Image(鏡像)洞斯,這個概念可以類比虛擬機的鏡像毡庆,所以倉庫中會有ubuntu、mysql等等常見系統(tǒng)或應(yīng)用的鏡像烙如,但比虛擬機的更輕量即鏡像文件體積更小么抗。
??中間是Docker Host,這是運行Docker的主機亚铁,這里面會包含Image(鏡像)和Container(容器)蝇刀。如圖所見,鏡像是一個只讀的模板徘溢,它可以來自不同的倉庫吞琐,并且可以實例化出容器。一個鏡像可以實例化出多個容器然爆,每個容器可以獨立運行一個或一組應(yīng)用站粟,且每個容器相互隔離,可以看成輕量級的虛擬機曾雕,不管我們生成的是ubuntu操作系統(tǒng)的容器還是Mysql數(shù)據(jù)庫的容器奴烙,都可以直接運行,其本身是自帶可運行環(huán)境的剖张,且容器是可讀可寫的切诀。在這里我們可以將鏡像比作面向編程中的類,容器就是類實例出來的對象搔弄,比如我們從倉庫中遠程拉下一個mysql數(shù)據(jù)庫鏡像幅虑,然后我們在主機中以這個鏡像為模板實例出5個容器,那么我們現(xiàn)在就有了5個可用的mysql數(shù)據(jù)庫且自身帶有可運行的環(huán)境顾犹,可以在每個數(shù)據(jù)庫中寫入不同的用戶倒庵、庫褒墨、表等。
??最左邊是Docker Client哄芜,也就是Docker運行的客戶端程序貌亭,就像mysql可以使用客戶端訪問遠程數(shù)據(jù)庫一樣柬唯。如果我們有一臺運行Docker Host的服務(wù)器在云端认臊,那么在本地我們的電腦就不需要安裝Docker Host,只用安裝client客戶端锄奢,然后遠程連接到Host執(zhí)行相應(yīng)的拉取鏡像和運行容器等操作失晴。
??現(xiàn)在我們可以統(tǒng)一梳理一下Docker的工作原理:Docker是一個容器運行載體或者管理引擎。我們將應(yīng)用程序和環(huán)境依賴以一種輕量級的方式打包好形成一個可交付的鏡像模板拘央。鏡像可以存放在倉庫中涂屁,在使用的時候,可以遠程拉取灰伟,然后實例化出容器拆又,這個容器就是我們真正運行的服務(wù)。

Docker的安裝

推薦菜鳥教程

Docker配置阿里云倉庫

??Docker官方的倉庫服務(wù)器在國外栏账,所內(nèi)國內(nèi)訪問速度很慢帖族,一般我們都會像配置ubuntu系統(tǒng)源一樣重新配置Docker的倉庫。這里我們所說的阿里云倉庫即上文中提到的Repository挡爵,其中存放了大量可用的應(yīng)用鏡像竖般。點擊下面的鏈接,登錄后按照官方教程操作即可茶鹃,配置完后需要重啟Docker涣雕。

阿里云倉庫配置

Docker應(yīng)用場景

??通過以上粗略的介紹,我們可以發(fā)現(xiàn)Docker的強大之處闭翩。除了上文最初提到的解決開發(fā)和測試之間的環(huán)境問題外挣郭,我們也常將Docker用于集群部署。
??另外Docker的優(yōu)勢在于是一個輕量級的虛擬機疗韵,所以在學習工作中可以使用虛擬機的場景也可以使用Docker來解決丈屹,并且效率更高。比如有時候做計算機網(wǎng)絡(luò)實驗伶棒,可能需要模擬5-10臺網(wǎng)絡(luò)節(jié)點之間的通信旺垒。如果使用虛擬機,那么一臺普通的筆記本(8G內(nèi)存肤无,i5的cpu先蒋,機械硬盤)是難以承受的,特別是機械硬盤和內(nèi)存不足的電腦宛渐,使用虛擬機的體驗極差竞漾,而使用Docker則可以輕松解決這一問題眯搭。同時我們也可以輕松的將我們運行修改過后的容器實例重新打包成新的鏡像,之后在新的電腦上復(fù)現(xiàn)環(huán)境或者轉(zhuǎn)交給他人都是十分快捷和方便的业岁。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末鳞仙,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子笔时,更是在濱河造成了極大的恐慌棍好,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件允耿,死亡現(xiàn)場離奇詭異借笙,居然都是意外死亡,警方通過查閱死者的電腦和手機较锡,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進店門业稼,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人蚂蕴,你說我怎么就攤上這事低散。” “怎么了骡楼?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵熔号,是天一觀的道長。 經(jīng)常有香客問我君编,道長跨嘉,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任吃嘿,我火速辦了婚禮祠乃,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘兑燥。我一直安慰自己亮瓷,他們只是感情好,可當我...
    茶點故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布降瞳。 她就那樣靜靜地躺著嘱支,像睡著了一般。 火紅的嫁衣襯著肌膚如雪挣饥。 梳的紋絲不亂的頭發(fā)上除师,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天,我揣著相機與錄音扔枫,去河邊找鬼汛聚。 笑死,一個胖子當著我的面吹牛短荐,可吹牛的內(nèi)容都是我干的倚舀。 我是一名探鬼主播叹哭,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼痕貌!你這毒婦竟也來了风罩?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤舵稠,失蹤者是張志新(化名)和其女友劉穎超升,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體柱查,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡廓俭,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年云石,在試婚紗的時候發(fā)現(xiàn)自己被綠了唉工。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡汹忠,死狀恐怖淋硝,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情宽菜,我是刑警寧澤谣膳,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站铅乡,受9級特大地震影響继谚,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜阵幸,卻給世界環(huán)境...
    茶點故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一花履、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧挚赊,春花似錦诡壁、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至蔑鹦,卻和暖如春夺克,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背嚎朽。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工铺纽, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人火鼻。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓室囊,卻偏偏與公主長得像雕崩,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子融撞,可洞房花燭夜當晚...
    茶點故事閱讀 44,577評論 2 353

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