91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

為什么需要Docker容器?Docker容器和VM有什么區(qū)別?

jf_HnAzBl9o ? 來(lái)源:網(wǎng)絡(luò)工程師筆記 ? 2023-09-27 09:21 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

容器技術(shù)這幾年,真的是特別火爆啊。

盡管容器技術(shù)已經(jīng)出現(xiàn)很久了,卻是隨著Docker的出現(xiàn)而變得廣為人知的。

Docker是第一個(gè)使容器能在不同機(jī)器之間移植的系統(tǒng)。

業(yè)內(nèi)甚至經(jīng)常出現(xiàn)一種聲音:Docker將取代VM。

9d5c163e-5cc9-11ee-939d-92fbcf53809c.png

不得不說(shuō),還是夸張了。

容器的優(yōu)勢(shì)在于是它使得業(yè)務(wù)的上云部署更快,資源利用更高。但是在安全性上,不好說(shuō)。

今天就給你展開(kāi)說(shuō)說(shuō),到底什么是Docker容器?Docker容器和VM有什么區(qū)別?

01

為什么需要Docker容器?

01這就得先說(shuō)回到虛擬機(jī)了

虛擬機(jī),也就是Virtual Machine,VM的發(fā)展,減輕了企業(yè)對(duì)硬件資源的依賴(lài)。

它將一臺(tái)物理設(shè)備虛擬為多個(gè)邏輯設(shè)備,每個(gè)邏輯設(shè)備可運(yùn)行不同的操作系統(tǒng),并且應(yīng)用程序都可以在相互獨(dú)立的空間內(nèi)運(yùn)行而互不影響,從而顯著提高設(shè)備的工作效率。

然而,傳統(tǒng)VM需要安裝操作系統(tǒng)才能執(zhí)行應(yīng)用程序,占用系統(tǒng)資源過(guò)多。

多數(shù)情況下,用戶(hù)只需要運(yùn)行簡(jiǎn)單的應(yīng)用程序,采用VM技術(shù)操作繁瑣且造成資源浪費(fèi)。

假如需要遷移應(yīng)用服務(wù)程序,則需遷移整個(gè)VM,因此企業(yè)迫切需要輕量級(jí)的虛擬化技術(shù)。

02靈活遷移部署,簡(jiǎn)直不要太香

容器,就是一種輕量級(jí)的虛擬化技術(shù),目的和虛擬機(jī)一樣,都是為了創(chuàng)造“隔離環(huán)境”。

但是它不像VM采用操作系統(tǒng)級(jí)的資源隔離,容器采用的是進(jìn)程級(jí)的系統(tǒng)隔離。

Docker作為創(chuàng)建容器的主流工具,為啥發(fā)展這么迅速?

關(guān)鍵點(diǎn)就在于它可以讓開(kāi)發(fā)者將企業(yè)需要的各種應(yīng)用及應(yīng)用依賴(lài)文件封裝在Docker鏡像文件中。

然后在任何物理設(shè)備(Linux設(shè)備或Window設(shè)備等)上安裝運(yùn)行實(shí)現(xiàn)虛擬化;

讓?xiě)?yīng)用程序徹底脫離底層設(shè)備,可以在物理機(jī)之間靈活遷移部署,使運(yùn)維工程師擺脫了繁瑣的環(huán)境部署,極大的提高了工作效率,同時(shí)減少了部署過(guò)程中的潛在風(fēng)險(xiǎn)。

03Docker容器的3大特點(diǎn)

輕量化:

一臺(tái)主機(jī)上運(yùn)行的多個(gè)Docker容器可以共享主機(jī)操作系統(tǒng)內(nèi)核;啟動(dòng)迅速,只需占用很少的計(jì)算和內(nèi)存資源。

標(biāo)準(zhǔn)開(kāi)放:

Docker容器基于開(kāi)放式標(biāo)準(zhǔn),能夠在所有主流Linux版本、Microsoft Windows以及包括VM、裸機(jī)服務(wù)器和云在內(nèi)的任何基礎(chǔ)設(shè)施上運(yùn)行。

安全可靠:

Docker賦予應(yīng)用的隔離性不僅限于彼此隔離,還獨(dú)立于底層的基礎(chǔ)設(shè)施。

Docker默認(rèn)提供最強(qiáng)的隔離,因此應(yīng)用出現(xiàn)問(wèn)題,也只是單個(gè)容器的問(wèn)題,而不會(huì)波及到整臺(tái)主機(jī)。

02

Docker容器 VS VM

Docker容器和傳統(tǒng)VM技術(shù),在技術(shù)實(shí)現(xiàn)上有所不同。

01VM與Docker容器的邏輯組成

VM:

使用Hypervisor提供虛擬機(jī)的運(yùn)行平臺(tái),管理每個(gè)VM中操作系統(tǒng)的運(yùn)行。

每個(gè)VM都要有自己的操作系統(tǒng)、應(yīng)用程序和必要的依賴(lài)文件等。

Docker容器:

使用Docker引擎進(jìn)行調(diào)度和隔離,提高了資源利用率,在相同硬件能力下可以運(yùn)行更多的容器實(shí)例;每個(gè)容器擁有自己的隔離化用戶(hù)空間。

9daa67b2-5cc9-11ee-939d-92fbcf53809c.png

02Docker容器的優(yōu)勢(shì)

相較于VM,Docker容器作為一種輕量級(jí)的虛擬化方式,在應(yīng)用方面具有以下顯著優(yōu)勢(shì):

Docker容器可以在秒級(jí)時(shí)間內(nèi)快速啟動(dòng)和停止,相較傳統(tǒng)虛擬機(jī)顯著提升。

Docker容器對(duì)系統(tǒng)資源要求低,數(shù)千個(gè)Docker容器可同時(shí)運(yùn)行在同一個(gè)主機(jī)上。

Docker容器通過(guò)類(lèi)似Git的操作來(lái)方便用戶(hù)獲取和更新應(yīng)用鏡像。

Docker容器通過(guò)Dockerfile配置文件實(shí)現(xiàn)自動(dòng)化創(chuàng)建和靈活部署,提高工作效率。

Docker容器除了運(yùn)行其中的應(yīng)用之外,基本不消耗額外的系統(tǒng)資源,保證應(yīng)用性能的同時(shí),盡量減小系統(tǒng)開(kāi)銷(xiāo)。

下圖可直觀了解Docker容器與傳統(tǒng)VM方式的區(qū)別:

9db2bf16-5cc9-11ee-939d-92fbcf53809c.png

03

Docker容器是如何工作的?

01Docker的三大組成要素

鏡像:

Docker鏡像是一個(gè)特殊的文件系統(tǒng),除了提供容器運(yùn)行時(shí)所需的程序、庫(kù)、資源、配置等文件外,還包含了一些為運(yùn)行時(shí)準(zhǔn)備的配置參數(shù)。

鏡像不包含任何動(dòng)態(tài)數(shù)據(jù),其內(nèi)容在構(gòu)建之后也不會(huì)被改變。

鏡像可以用來(lái)創(chuàng)建Docker容器,用戶(hù)可以使用設(shè)備上已有的鏡像來(lái)安裝多個(gè)相同的Docker容器。

容器:

鏡像創(chuàng)建的運(yùn)行實(shí)例,Docker利用容器來(lái)運(yùn)行應(yīng)用。

每個(gè)容器都是相互隔離的、保證安全的平臺(tái)。

我們可以把容器看做是一個(gè)輕量級(jí)的Linux運(yùn)行環(huán)境。

鏡像倉(cāng)庫(kù):

集中存放鏡像文件的地方。

用戶(hù)創(chuàng)建完鏡像后,可以將其上傳到公共倉(cāng)庫(kù)或者私有倉(cāng)庫(kù),需要在另一臺(tái)主機(jī)上使用該鏡像時(shí),只需要從倉(cāng)庫(kù)上下載即可。

02Docker容器的運(yùn)行邏輯

如下圖所示,Docker使用客戶(hù)端/服務(wù)器 (C/S) 架構(gòu)模式。

Docker守護(hù)進(jìn)程(Docker daemon)作為Server端接收Docker客戶(hù)端的請(qǐng)求,并負(fù)責(zé)創(chuàng)建、運(yùn)行和分發(fā)Docker容器。

Docker守護(hù)進(jìn)程一般在Docker主機(jī)后臺(tái)運(yùn)行,用戶(hù)使用Docker客戶(hù)端直接跟Docker守護(hù)進(jìn)程進(jìn)行信息交互。

9dbfeaec-5cc9-11ee-939d-92fbcf53809c.png

Docker運(yùn)行流程

接下來(lái)給你展開(kāi)說(shuō)說(shuō)Docker的客戶(hù)端、主機(jī)和守護(hù)進(jìn)程。(根據(jù)上面這張圖來(lái)看哈)

1、Docker客戶(hù)端:

用于和Docker守護(hù)進(jìn)程(Docker Daemon)建立通信的客戶(hù)端。

Docker客戶(hù)端只需要向Docker服務(wù)器或者守護(hù)進(jìn)程發(fā)出請(qǐng)求(Docker構(gòu)建、Docker拉取和Docker啟動(dòng)等指令),服務(wù)器或者守護(hù)進(jìn)程將完成所有工作并返回結(jié)果。

如橙色流程所示,執(zhí)行Docker構(gòu)建指令會(huì)根據(jù)Docker文件構(gòu)建一個(gè)鏡像存放于本地Docker主機(jī)。

如藍(lán)色流程所示,執(zhí)行Docker拉取指令會(huì)從云端鏡像倉(cāng)庫(kù)拉取鏡像至本地Docker主機(jī)或?qū)⒈镜冂R像推送至遠(yuǎn)端鏡像倉(cāng)庫(kù)。

如黑色流程所示,執(zhí)行Docker啟動(dòng)指令會(huì)將鏡像安裝至容器并啟動(dòng)容器。

2、Docker主機(jī):

一個(gè)物理或者虛擬的機(jī)器用于執(zhí)行 Docker守護(hù)進(jìn)程和容器。

3、Docker守護(hù)進(jìn)程:

接收并處理Docker客戶(hù)端發(fā)送的請(qǐng)求,監(jiān)測(cè)Docker API的請(qǐng)求和管理Docker對(duì)象,比如鏡像、容器、網(wǎng)絡(luò)和數(shù)據(jù)卷。

EC-IoT解決方案基于“邊緣智能+云化管理”平臺(tái),物聯(lián)網(wǎng)關(guān)開(kāi)放邊緣計(jì)算能力,快速適配不同行業(yè)邊緣智能數(shù)據(jù)處理需求。

實(shí)現(xiàn)關(guān)鍵業(yè)務(wù)本地毫秒級(jí)實(shí)時(shí)響應(yīng),完成數(shù)據(jù)本地聚合優(yōu)化,高價(jià)值數(shù)據(jù)主動(dòng)回傳云端。

邊緣計(jì)算網(wǎng)關(guān)基于“硬件平臺(tái)化,業(yè)務(wù)APP化”的設(shè)計(jì)理念,終端功能由APP軟件定義,用戶(hù)基于基礎(chǔ)服務(wù)接口開(kāi)發(fā)自定義APP,并實(shí)現(xiàn)在邊緣計(jì)算網(wǎng)關(guān)的靈活部署,快速適應(yīng)業(yè)務(wù)需求復(fù)雜多變的物聯(lián)場(chǎng)景。

邊緣計(jì)算網(wǎng)關(guān)支持部署Docker容器,用戶(hù)可在部署的容器上安裝自己的業(yè)務(wù)APP,同時(shí)網(wǎng)關(guān)設(shè)備提供各種eSDK接口供容器和APP調(diào)用其資源。

9dd2c504-5cc9-11ee-939d-92fbcf53809c.png

EC-IoT解決方案

9dda1f48-5cc9-11ee-939d-92fbcf53809c.png

網(wǎng)關(guān)開(kāi)放性

04

容器的分類(lèi)

容器技術(shù)架構(gòu)主流的有兩種:

01一種是Linux Container,即LXC

LXC起源于Linux內(nèi)核中的Cgroup和namespace的開(kāi)發(fā),以支持輕量級(jí)虛擬化操作系統(tǒng)環(huán)境,是一種操作系統(tǒng)級(jí)別的輕量級(jí)Linux容器。

提供輕量級(jí)的虛擬化隔離進(jìn)程和資源:

它將應(yīng)用軟件系統(tǒng)打包成一個(gè)軟件容器,內(nèi)含應(yīng)用軟件本身的代碼,以及所需要的操作系統(tǒng)核心庫(kù)。

它通過(guò)統(tǒng)一的名字空間和共用API(Application Programming Interface,應(yīng)用程序編程接口)來(lái)分配不同軟件容器的硬件資源。

創(chuàng)造出應(yīng)用程序的獨(dú)立沙箱運(yùn)行環(huán)境,使得Linux用戶(hù)可以容易的創(chuàng)建和管理系統(tǒng)或應(yīng)用容器。

02一種是Docker公司發(fā)布的Docker

Docker是在LXC基礎(chǔ)上進(jìn)一步封裝的容器技術(shù)架構(gòu),它相當(dāng)與一個(gè)應(yīng)用程序級(jí)別的容器,也稱(chēng)為APP容器。

9de3dc68-5cc9-11ee-939d-92fbcf53809c.png

即每個(gè)Docker容器是一個(gè)獨(dú)立的APP,Docker將APP打包成一個(gè)鏡像,在其它地方需要使用此APP時(shí),直接獲取到此鏡像即可,方便部署與安裝。

如上圖所示,Docker與LXC實(shí)現(xiàn)容器都是通過(guò)Linux kernel的namespace與Cgroup機(jī)制實(shí)現(xiàn)。







審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Linux系統(tǒng)
    +關(guān)注

    關(guān)注

    4

    文章

    614

    瀏覽量

    29900
  • 虛擬機(jī)
    +關(guān)注

    關(guān)注

    1

    文章

    972

    瀏覽量

    30458
  • 裸機(jī)
    +關(guān)注

    關(guān)注

    0

    文章

    42

    瀏覽量

    6959
  • docker容器
    +關(guān)注

    關(guān)注

    0

    文章

    31

    瀏覽量

    3633
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    Docker容器網(wǎng)絡(luò)模式全解析

    容器網(wǎng)絡(luò)是Docker使用中最容易出問(wèn)題的部分。容器之間怎么通信、容器怎么訪問(wèn)外網(wǎng)、外部怎么訪問(wèn)容器內(nèi)的服務(wù)——這三個(gè)問(wèn)題搞不清楚,排查網(wǎng)絡(luò)
    的頭像 發(fā)表于 02-26 16:39 ?221次閱讀

    創(chuàng)龍 瑞芯微 RK3588 國(guó)產(chǎn)2.4GHz八核 工業(yè)開(kāi)發(fā)板—Docker容器部署方法說(shuō)明

    本文圍繞創(chuàng)龍科技研發(fā)的評(píng)估板,詳細(xì)說(shuō)明 Docker 容器部署方法,包括 Docker 架構(gòu)介紹、安裝步驟(依賴(lài)包安裝、GPG 密鑰添加等)、本地鏡像倉(cāng)庫(kù)搭建,以及單個(gè) / 多個(gè)鏡像的構(gòu)建、推送
    的頭像 發(fā)表于 10-22 17:21 ?723次閱讀
    創(chuàng)龍 瑞芯微 RK3588 國(guó)產(chǎn)2.4GHz八核 工業(yè)開(kāi)發(fā)板—<b class='flag-5'>Docker</b><b class='flag-5'>容器</b>部署方法說(shuō)明

    深入剖析Docker全鏈路安全防護(hù)策略

    在云原生時(shí)代,Docker容器安全已成為運(yùn)維工程師必須面對(duì)的核心挑戰(zhàn)。本文將從實(shí)戰(zhàn)角度深入剖析Docker全鏈路安全防護(hù)策略,涵蓋鏡像構(gòu)建、容器運(yùn)行、網(wǎng)絡(luò)隔離等關(guān)鍵環(huán)節(jié),助你構(gòu)建企業(yè)級(jí)
    的頭像 發(fā)表于 08-18 11:17 ?1026次閱讀

    國(guó)產(chǎn)!全志T113-i 雙核Cortex-A7@1.2GHz 工業(yè)開(kāi)發(fā)板—Docker容器部署方法說(shuō)明

    本指導(dǎo)文檔主要演示Docker容器部署的方法,并基于Docker運(yùn)行l(wèi)ed_flash例程。
    的頭像 發(fā)表于 08-06 15:55 ?483次閱讀
    國(guó)產(chǎn)!全志T113-i 雙核Cortex-A7@1.2GHz 工業(yè)開(kāi)發(fā)板—<b class='flag-5'>Docker</b><b class='flag-5'>容器</b>部署方法說(shuō)明

    Docker容器安全攻防實(shí)戰(zhàn)案例

    在云原生時(shí)代,Docker已成為現(xiàn)代應(yīng)用部署的基石。然而,容器化帶來(lái)便利的同時(shí),也引入了新的安全挑戰(zhàn)。作為一名在生產(chǎn)環(huán)境中管理過(guò)數(shù)千個(gè)容器的運(yùn)維工程師,我將通過(guò)真實(shí)的攻防實(shí)戰(zhàn)案例,帶你深入了解
    的頭像 發(fā)表于 08-05 09:52 ?1314次閱讀

    創(chuàng)龍 瑞芯微 RK3562 國(guó)產(chǎn) 2GHz 四核A53 工業(yè)開(kāi)發(fā)板—Docker容器部署方法說(shuō)明

    Docker是一個(gè)開(kāi)源的應(yīng)用容器引擎,讓開(kāi)發(fā)者可打包他們的應(yīng)用以及依賴(lài)包至一個(gè)可移植的鏡像中,然后發(fā)布至任何流行的Linux或Windows機(jī)器上,亦可實(shí)現(xiàn)虛擬化。容器是完全使用沙箱機(jī)制,相互之間
    的頭像 發(fā)表于 07-03 11:00 ?564次閱讀
    創(chuàng)龍 瑞芯微 RK3562 國(guó)產(chǎn) 2GHz 四核A53 工業(yè)開(kāi)發(fā)板—<b class='flag-5'>Docker</b><b class='flag-5'>容器</b>部署方法說(shuō)明

    干貨分享 | RK3588 Ubuntu系統(tǒng)Docker容器使用指南

    前言:在瑞芯微RK3588高性能AIoT平臺(tái)上運(yùn)行Ubuntu系統(tǒng)時(shí),Docker容器技術(shù)能極大提升開(kāi)發(fā)部署效率。通過(guò)輕量級(jí)虛擬化實(shí)現(xiàn)環(huán)境隔離與快速遷移,本文將從零開(kāi)始詳解RK3588平臺(tái)
    的頭像 發(fā)表于 06-27 12:01 ?3841次閱讀
    干貨分享 | RK3588 Ubuntu系統(tǒng)<b class='flag-5'>Docker</b><b class='flag-5'>容器</b>使用指南

    docker無(wú)法啟用怎么解決?

    mengxing@mengxing-virtual-machine:/etc/docker$ sudo systemctl daemon-reload
    發(fā)表于 06-23 07:17

    如何使用Docker部署大模型

    隨著深度學(xué)習(xí)和大模型的快速發(fā)展,如何高效地部署這些模型成為了一個(gè)重要的挑戰(zhàn)。Docker 作為一種輕量級(jí)的容器化技術(shù),能夠?qū)⒛P图捌湟蕾?lài)環(huán)境打包成一個(gè)可移植的容器,極大地簡(jiǎn)化了部署流程。本文將詳細(xì)介紹如何使用
    的頭像 發(fā)表于 05-24 16:39 ?1101次閱讀

    Docker Compose的常用命令

    大家好,今天給大家分享Docker Compose的常用命令,以及docker-compose文件的屬性。Docker Compose 是一個(gè)用于定義和運(yùn)行多容器
    的頭像 發(fā)表于 04-30 13:40 ?1194次閱讀

    Docker基本命令及其用例

    Docker 已迅速成為容器化應(yīng)用程序的事實(shí)標(biāo)準(zhǔn)。作為開(kāi)發(fā)人員或 DevOps 工程師/系統(tǒng)管理員,熟悉 Docker 對(duì)于高效部署現(xiàn)代、可移植的應(yīng)用程序至關(guān)重要。
    的頭像 發(fā)表于 04-30 10:04 ?704次閱讀

    Docker常用命令大全

    Docker 是一種開(kāi)源的應(yīng)用容器引擎,廣泛應(yīng)用于開(kāi)發(fā)、部署和運(yùn)行分布式應(yīng)用。掌握 Docker 常用命令對(duì)于開(kāi)發(fā)人員和運(yùn)維人員來(lái)說(shuō)非常重要。本文將為大家整理常用的Docker 命令,
    的頭像 發(fā)表于 04-22 12:47 ?856次閱讀

    【技術(shù)案例】Android in Docker

    Docker介紹Docker是一個(gè)開(kāi)源的容器化平臺(tái),用于打包、分發(fā)和運(yùn)行應(yīng)用程序。它通過(guò)將應(yīng)用及其所有依賴(lài)打包到獨(dú)立的容器中,確保應(yīng)用在不同環(huán)境中一致運(yùn)行。
    的頭像 發(fā)表于 04-02 16:33 ?1751次閱讀
    【技術(shù)案例】Android in <b class='flag-5'>Docker</b>

    docker-proxy鏡像加速倉(cāng)庫(kù)

    自建多平臺(tái)容器鏡像代理服務(wù),支持 Docker Hub, GitHub, Google, k8s, Quay, Microsoft 等鏡像倉(cāng)庫(kù)。
    的頭像 發(fā)表于 03-06 16:06 ?1022次閱讀
    <b class='flag-5'>docker</b>-proxy鏡像加速倉(cāng)庫(kù)

    使用Windows中的Docker容器運(yùn)行DL Streamer出現(xiàn)報(bào)錯(cuò)怎么解決?

    使用 Windows* 中的 Docker 容器運(yùn)行 DL Streamer。 遇到錯(cuò)誤: gi.repository.GLib.GError: gst_parse_error: 無(wú)元素 “vaapih264enc” (1)
    發(fā)表于 03-05 07:04