什么是Docker容器?

Docker是一種輕量級的虛擬化技術,同時是一個開源的應用容器運行環境搭建平臺,可以讓開發者以便捷方式打包應用到一個可移植的容器中,然后安裝至任何運行Linux或Windows等系統的服務器上。相較于傳統虛擬機,Docker容器提供輕量化的虛擬化方式、安裝便捷、啟停速度快。

收藏丨運維良藥,K8S日常故障處理集錦_k8s容器突然沒了-CSDN博客

RHCE 9.0培訓課程之容器技術的運行-CSDN博客

為什么需要Docker容器

虛擬機(Virtual Machine,簡稱VM)的發展,減輕了企業對硬件資源的依賴,它將一臺物理設備虛擬為多個邏輯設備,每個邏輯設備可運行不同的操作系統,并且應用程序都可以在相互獨立的空間內運行而互不影響,從而顯著提高設備的工作效率。然而,傳統VM需要安裝操作系統才能執行應用程序,占用系統資源過多。多數情況下,用戶只需要運行簡單的應用程序,采用VM技術操作繁瑣且造成資源浪費。倘若需要遷移應用服務程序,則需遷移整個VM,因此企業迫切需要輕量級的虛擬化技術。

容器,就是一種輕量級的虛擬化技術,目的和虛擬機一樣,都是為了創造“隔離環境”。但是它不像VM采用操作系統級的資源隔離,容器采用的是進程級的系統隔離。Docker作為創建容器的主流工具,近年來迅速發展,它的優勢在于可以讓開發者將企業需要的各種應用及應用依賴文件封裝在Docker鏡像文件中,然后在任何物理設備(Linux設備或Window設備等)上安裝運行實現虛擬化,讓應用程序徹底脫離底層設備,可以在物理機之間靈活遷移部署,使運維工程師擺脫了繁瑣的環境部署,極大的提高了工作效率,同時減少了部署過程中的潛在風險。

Docker容器具有以下三大特點:

  • 輕量化:一臺主機上運行的多個Docker容器可以共享主機操作系統內核;啟動迅速,只需占用很少的計算和內存資源。

  • 標準開放:Docker容器基于開放式標準,能夠在所有主流Linux版本、Microsoft Windows以及包括VM、裸機服務器和云在內的任何基礎設施上運行。

  • 安全可靠:Docker賦予應用的隔離性不僅限于彼此隔離,還獨立于底層的基礎設施。Docker默認提供最強的隔離,因此應用出現問題,也只是單個容器的問題,而不會波及到整臺主機。

Docker容器 VS VN

Docker容器和傳統VM技術,在技術實現上有所不同。下圖顯示的是VM與Docker容器的邏輯組成:

  • VM:使用Hypervisor提供虛擬機的運行平臺,管理每個VM中操作系統的運行。每個VM都要有自己的操作系統、應用程序和必要的依賴文件等。

  • Docker容器:使用Docker引擎進行調度和隔離,提高了資源利用率,在相同硬件能力下可以運行更多的容器實例;每個容器擁有自己的隔離化用戶空間。

圖片


虛擬機與Docker容器對比

相較于VM,Docker容器作為一種輕量級的虛擬化方式,在應用方面具有以下顯著優勢:

  • Docker容器可以在秒級時間內快速啟動和停止,相較傳統虛擬機顯著提升。

  • Docker容器對系統資源要求低,數千個Docker容器可同時運行在同一個主機上。

  • Docker容器通過類似Git的操作來方便用戶獲取和更新應用鏡像。

  • Docker容器通過Dockerfile配置文件實現自動化創建和靈活部署,提高工作效率。

  • Docker容器除了運行其中的應用之外,基本不消耗額外的系統資源,保證應用性能的同時,盡量減小系統開銷。

下圖可直觀了解Docker容器與傳統VM方式的區別:

圖片


Docker容器與傳統VM的區對比

Docker容器是如何工作的

Docker的三大組成要素:

  • 鏡像:Docker鏡像是一個特殊的文件系統,除了提供容器運行時所需的程序、庫、資源、配置等文件外,還包含了一些為運行時準備的配置參數。鏡像不包含任何動態數據,其內容在構建之后也不會被改變。鏡像可以用來創建Docker容器,用戶可以使用設備上已有的鏡像來安裝多個相同的Docker容器。

  • 容器:鏡像創建的運行實例,Docker利用容器來運行應用。每個容器都是相互隔離的、保證安全的平臺。我們可以把容器看做是一個輕量級的Linux運行環境。

  • 鏡像倉庫:集中存放鏡像文件的地方。用戶創建完鏡像后,可以將其上傳到公共倉庫或者私有倉庫,需要在另一臺主機上使用該鏡像時,只需要從倉庫上下載即可。

Docker容器的運行邏輯如下圖所示,Docker使用客戶端/服務器 (C/S) 架構模式,Docker守護進程(Docker daemon)作為Server端接收Docker客戶端的請求,并負責創建、運行和分發Docker容器。Docker守護進程一般在Docker主機后臺運行,用戶使用Docker客戶端直接跟Docker守護進程進行信息交互。

圖片


Docker運行流程

其中:

  • Docker客戶端:用于和Docker守護進程(Docker Daemon)建立通信的客戶端。Docker客戶端只需要向Docker服務器或者守護進程發出請求(Docker構建、Docker拉取和Docker啟動等指令),服務器或者守護進程將完成所有工作并返回結果。

  • 如橙色流程所示,執行Docker構建指令會根據Docker文件構建一個鏡像存放于本地Docker主機。

  • 如藍色流程所示,執行Docker拉取指令會從云端鏡像倉庫拉取鏡像至本地Docker主機或將本地鏡像推送至遠端鏡像倉庫。

  • 如黑色流程所示,執行Docker啟動指令會將鏡像安裝至容器并啟動容器。

  • Docker主機:一個物理或者虛擬的機器用于執行 Docker守護進程和容器。

  • Docker守護進程:接收并處理Docker客戶端發送的請求,監測Docker API的請求和管理Docker對象,比如鏡像、容器、網絡和數據卷。

EC-IoT解決方案基于“邊緣智能+云化管理”平臺,物聯網關開放邊緣計算能力,快速適配不同行業邊緣智能數據處理需求,實現關鍵業務本地毫秒級實時響應,完成數據本地聚合優化,高價值數據主動回傳云端。

邊緣計算網關基于“硬件平臺化,業務APP化”的設計理念,終端功能由APP軟件定義,用戶基于基礎服務接口開發自定義APP,并實現在邊緣計算網關的靈活部署,快速適應業務需求復雜多變的物聯場景。邊緣計算網關支持部署Docker容器,用戶可在部署的容器上安裝自己的業務APP,同時網關設備提供各種eSDK接口供容器和APP調用其資源。

圖片


EC-IoT解決方案

圖片


網關開放性

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/719340.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/719340.shtml
英文地址,請注明出處:http://en.pswp.cn/news/719340.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【C++通關攻略 · 基礎篇】輸入輸出語句

目錄 輸入語句 原理 什么是流? 語法 補充 輸出語句 原理 語法 補充 示例 輸入語句 輸入語句,就是用來接受用戶輸入的內容。比如用戶在控制臺輸入一個數字,就可以用輸入語句去就收。 原理 在 C 中,cin 就是最常用的輸入…

linux安裝mysql5.7

linux安裝mysql5.7 一、下載mysql5.7二、解壓包介紹三、上傳包到linux四、卸載mariadb五、安裝mysql六、修改權限七、啟動mysql八、使用過navicat創作不易,筆記不易,如覺不錯,請三連,謝謝~~ 一、下載mysql5.7 去mysql官方下載&am…

MES系統在離散制造企業中的功能解析

隨著信息技術的快速發展和制造業的轉型升級,MES在離散制造企業中的作用日益凸顯。MES系統不僅提高了生產效率和產品質量,還優化了資源配置,增強了企業的市場競爭力。 一、生產管理功能 MES系統能夠實時監控生產現場的各種數據,包…

二叉搜索樹題目:將有序數組轉換為二叉搜索樹

文章目錄 題目標題和出處難度題目描述要求示例數據范圍 解法思路和算法證明代碼復雜度分析 題目 標題和出處 標題:將有序數組轉換為二叉搜索樹 出處:108. 將有序數組轉換為二叉搜索樹 難度 4 級 題目描述 要求 給定整數數組 nums \texttt{nums}…

一、低代碼平臺-數據庫設計規范

數據庫設計規范目的 a、規格化管理各個業務數據表 b、通過字段名稱快速了解表與表之間的關聯關系 c、通過字段第一位快速了解字段數據類型等等所有規范都為了更好的開發與后期系統運維。 1、數據庫設計規范 答:數據庫安裝必須選擇大小寫敏感;編碼格式…

15 easy 141. 環形鏈表

法1:快慢指針法: //給你一個鏈表的頭節點 head ,判斷鏈表中是否有環。 // // 如果鏈表中有某個節點,可以通過連續跟蹤 next 指針再次到達,則鏈表中存在環。 為了表示給定鏈表中的環,評測系統內部使用整數…

Python爬蟲副業真的可行嗎?

首先回答你,是可行的,python爬蟲能當副業,副業的方式比較多,等下我會講幾種。 那學到哪個層次可以接單呢?主要看你是接什么樣的單,爬一些資料,視頻這種簡單的學一兩個月就沒什么問題&#xff0…

第一天 走進Docker的世界

第一天 走進Docker的世界 介紹docker的前世今生,了解docker的實現原理,以Django項目為例,帶大家如何編寫最佳的Dockerfile構建鏡像。通過本章的學習,大家會知道docker的概念及基本操作,并學會構建自己的業務鏡像&…

一文讀懂Persistence One- 如何將Restaking帶入Cosmos

Persistence One正在將Restaking引入Cosmos。用戶將能夠通過pSTAKE、Stride、Quicksilver和Milkyway將Liquid Staked Tokens(如ATOM、TIA、DYDX等)存入Persistence One,對其進行Restaking,從而安全地連接更多區塊鏈,首…

MySQL:數據庫中有哪些鎖

1、全局鎖 加上全局鎖后整個數據庫就處于只讀狀態了,這時其他線程執行以下操作,都會被阻塞: 對數據的增刪改操作,比如 insert、delete、update等語句;對表結構的更改操作,比如 alter table、drop table 等…

Android APK包反編譯為java文件教程

方法 流程: test.apk -> smali文件 -> dex文件 -> jar文件 ->java 文件 將APK包解壓為 smail文件 下載 apktool工具 apktool.jar 將 test.apk 和 apktool.jar放同一目錄下,并執行以下命令 java -jar apktool.jar d -f xxx.apk -o xxx(解…

【如何像網吧一樣弄個游戲菜單在家里】

GGmenu 個人家庭版游戲、應用管理 桌面圖標管理器

[環境配置]ssh連接報錯“kex_exchange_identification: read: Connection reset by peer”

已經被VScode ssh毒死好幾次了,都是執行命令意外中斷,然后又VSCode里連不上、本機Terminal也連不上了。。。 重啟遠程服務器,VSCode可以連上了, 系統ssh還是不行,報錯“kex_exchange_identification: read: Connecti…

容器(JAVA基礎)

一.泛型 在Java中,泛型(Generics)是JDK 5.0引入的一個新特性,它允許在定義類、接口和方法時使用類型參數(type parameters)。類型參數在使用前必須先被實際類型(如Integer、String等)替代,這個過程稱作類型實例化或類型擦除。泛型提供了編譯時類型安全,減少了運行時…

CSS~~

CSS是一門語言,用于控制網頁表現 CSS(Cascading Style Sheet):層疊樣式表 W3C標準:網頁主要由三部分組成 結構:HTML 表現: CSS 行為:JavaScript 1,CSS的導入方式 (1)內聯樣式 在標簽內部使用style屬性,屬性值是cs…

類 Unix 系統的文件目錄結構

以下是類 Unix 系統的文件目錄結構、各個目錄主要存放的文件以及縮寫的全稱的詳細說明: 根目錄 /: 全稱: Root Directory說明:根目錄是整個文件系統的起點,包含了所有其他目錄和文件。 /bin 目錄: 全稱: Binary說明&a…

Nginx最常用的指令

服務管理 sudo systemctl status nginx # nginx當前狀態 sudo systemctl reload nginx # 重新加載 nginx sudo systemctl restart nginx # 重啟nginxsudo nginx -t # 檢查語法 nginx # 啟動 nginx -s reload # 重啟 nginx -s stop # 關閉進程 nginx -s quit #…

Java學習筆記002——類的修飾符

在Java語言中,類的訪問修飾符決定了其它類能夠訪問該類的方式。類有如下4種訪問修飾符,在創建類時用于類的聲明: 1、public: 當一個類被聲明為public時,它可以從任何其他類中被訪問,無論這些類位于哪個包中。通常&am…

uniapp使用vue3語法構建自定義導航欄,適配小程序膠囊

具體代碼 <template><view class"nav-wrapper-container" :style"height:navBarHeight px"><view class"nav-status-container" :style"height:navstatusBarHeight px;" /><view v-if"isCustom" clas…

數字化轉型導師堅鵬:BLM證券公司數字化轉型戰略

BLM證券公司數字化轉型戰略 ——以BLM模型為核心&#xff0c;實現知行果合一 課程背景&#xff1a; 很多證券公司存在以下問題&#xff1a; 不知道如何系統地制定證券公司數字化轉型戰略&#xff1f; 不清楚其它證券公司數字化轉型戰略是如何制定的&#xff1f; 不知道…