Docker精华问答 | Docker vs VM
在計(jì)算機(jī)技術(shù)日新月異的今天, Docker 在國(guó)內(nèi)發(fā)展的如火如荼。特別是在一線(xiàn)互聯(lián)網(wǎng)公司 Docker 的使用是十分普遍的,甚至成為了一些企業(yè)面試的加分項(xiàng),那么今天我們繼續(xù)關(guān)于Docker 的精華問(wèn)答。
1
Q:為什么用docker?
A:作為一種新興的虛擬化方式,Docker 跟傳統(tǒng)的虛擬化方式相比具有眾多的優(yōu)勢(shì)。
Docker 在如下幾個(gè)方面具有較大的優(yōu)勢(shì):
更快速的交付和部署
Docker在整個(gè)開(kāi)發(fā)周期都可以完美的輔助你實(shí)現(xiàn)快速交付。Docker允許開(kāi)發(fā)者在裝有應(yīng)用和服務(wù)本地容器做開(kāi)發(fā)。可以直接集成到可持續(xù)開(kāi)發(fā)流程中。
高效的部署和擴(kuò)容
Docker 容器幾乎可以在任意的平臺(tái)上運(yùn)行,包括物理機(jī)、虛擬機(jī)、公有云、私有云、個(gè)人電腦、服務(wù)器等。 這種兼容性可以讓用戶(hù)把一個(gè)應(yīng)用程序從一個(gè)平臺(tái)直接遷移到另外一個(gè)。
Docker的兼容性和輕量特性可以很輕松的實(shí)現(xiàn)負(fù)載的動(dòng)態(tài)管理。你可以快速擴(kuò)容或方便的下線(xiàn)的你的應(yīng)用和服務(wù),這種速度趨近實(shí)時(shí)。
更高的資源利用率
Docker 對(duì)系統(tǒng)資源的利用率很高,一臺(tái)主機(jī)上可以同時(shí)運(yùn)行數(shù)千個(gè) Docker 容器。容器除了運(yùn)行其中應(yīng)用外,基本不消耗額外的系統(tǒng)資源,使得應(yīng)用的性能很高,同時(shí)系統(tǒng)的開(kāi)銷(xiāo)盡量小。傳統(tǒng)虛擬機(jī)方式運(yùn)行 10 個(gè)不同的應(yīng)用就要起 10 個(gè)虛擬機(jī),而Docker 只需要啟動(dòng) 10 個(gè)隔離的應(yīng)用即可。
更簡(jiǎn)單的管理
使用 Docker,只需要小小的修改,就可以替代以往大量的更新工作。所有的修改都以增量的方式被分發(fā)和更新,從而實(shí)現(xiàn)自動(dòng)化并且高效的管理。
Q:Docker引擎
A:docker引擎是一個(gè)c/s結(jié)構(gòu)的應(yīng)用,主要組件見(jiàn)下圖:
Server是一個(gè)常駐進(jìn)程
REST API 實(shí)現(xiàn)了client和server間的交互協(xié)議
CLI 實(shí)現(xiàn)容器和鏡像的管理,為用戶(hù)提供統(tǒng)一的操作界面
Q:Docker構(gòu)架
A:Docker使用C/S架構(gòu),Client 通過(guò)接口與Server進(jìn)程通信實(shí)現(xiàn)容器的構(gòu)建,運(yùn)行和發(fā)布。client和server可以運(yùn)行在同一臺(tái)集群,也可以通過(guò)跨主機(jī)實(shí)現(xiàn)遠(yuǎn)程通信。
Q:Docker vs VM
A:VM是一個(gè)運(yùn)行在宿主機(jī)之上的完整的操作系統(tǒng),VM運(yùn)行自身操作系統(tǒng)會(huì)占用較多的CPU、內(nèi)存、硬盤(pán)資源。Docker不同于VM,只包含應(yīng)用程序以及依賴(lài)庫(kù),基于libcontainer運(yùn)行在宿主機(jī)上,并處于一個(gè)隔離的環(huán)境中,這使得Docker更加輕量高效,啟動(dòng)容器只需幾秒鐘之內(nèi)完成。由于Docker輕量、資源占用少,使得Docker可以輕易的應(yīng)用到構(gòu)建標(biāo)準(zhǔn)化的應(yīng)用中。但Docker目前還不夠完善,比如隔離效果不如VM,共享宿主機(jī)操作系統(tǒng)的一些基礎(chǔ)庫(kù)等;網(wǎng)絡(luò)配置功能相對(duì)簡(jiǎn)單,主要以橋接方式為主;查看日志也不夠方便靈活。
Docker 在容器的基礎(chǔ)上,進(jìn)行了進(jìn)一步的封裝,從文件系統(tǒng)、網(wǎng)絡(luò)互聯(lián)到進(jìn)程隔離等等,極大的簡(jiǎn)化了容器的創(chuàng)建和維護(hù)。使得 Docker 技術(shù)比虛擬機(jī)技術(shù)更為輕便、快捷。
作為一種新興的虛擬化方式,Docker 跟傳統(tǒng)的虛擬化方式相比具有眾多的優(yōu)勢(shì)。Docker 容器的啟動(dòng)可以在秒級(jí)實(shí)現(xiàn),這相比傳統(tǒng)的虛擬機(jī)方式要快得多;Docker 對(duì)系統(tǒng)資源的利用率很高,一臺(tái)主機(jī)上可以同時(shí)運(yùn)行數(shù)千個(gè) Docker 容器。
Q:多個(gè) Docker 容器之間共享數(shù)據(jù)怎么辦??
A:如果是同一個(gè)宿主,那么可以綁定同一個(gè)數(shù)據(jù)卷,當(dāng)然,程序上要處理好并發(fā)問(wèn)題。如果是不同宿主,則可以使用分布式數(shù)據(jù)卷驅(qū)動(dòng),讓分布在不同宿主的容器都可以訪(fǎng)問(wèn)到的分布式存儲(chǔ)的位置。如S3之類(lèi)。
小伙伴們沖鴨,后臺(tái)留言區(qū)等著你!
關(guān)于Docker?,今天你學(xué)到了什么?還有哪些不懂的?除此還對(duì)哪些話(huà)題感興趣?快來(lái)留言區(qū)打卡啦!留言方式:打開(kāi)第XX天,答:……
同時(shí)歡迎大家搜集更多問(wèn)題,投稿給我們!風(fēng)里雨里留言區(qū)里等你~
福利
1、掃描添加小編微信,備注“姓名+公司職位”,加入【云計(jì)算學(xué)習(xí)交流群】,和志同道合的朋友們共同打卡學(xué)習(xí)!
2、公眾號(hào)后臺(tái)回復(fù):白皮書(shū),獲取IDC最新數(shù)據(jù)白皮書(shū)整理資料!
推薦閱讀:
10 種最流行的 Web 挖掘工具 | 程序員硬核評(píng)測(cè)
《復(fù)聯(lián)4》| 生活需要漫威這塊糖
如何向 6 歲的孩子解釋編程?這個(gè)解釋厲害了
“踏實(shí)工作 7 年,辭職時(shí)老板頭都不抬”
60倍回報(bào)! AI工程師用OpenAI創(chuàng)建了一個(gè)比特幣自動(dòng)交易工具! 這里是詳細(xì)做法 | 技術(shù)頭條
賭5毛錢(qián),你解不出這道Google面試題
真香,朕在看了!
總結(jié)
以上是生活随笔為你收集整理的Docker精华问答 | Docker vs VM的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: paypal可以用支付宝吗
- 下一篇: boost::contract模块实现断