日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux内核中用来对共享资源进行隔离,简单理解Docker

發布時間:2024/9/15 linux 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux内核中用来对共享资源进行隔离,简单理解Docker 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

什么是Docker

Docker使用Go語言進行開發實現,基于Linux內核的cgroup,namespace,以及AUFS類的Union FS等技術,對進程進行封裝隔離,屬于操作系統層面的虛擬化技術。

由于隔離的進程獨立于宿主和其他的隔離的進程,因此也稱其為容器。

Docker 在容器的基礎上,進行了進一步的封裝,從文件系統、網絡互聯到進程隔離等等,極

大的簡化了容器的創建和維護。使得 Docker 技術比虛擬機技術更為輕便、快捷。

基本概念

鏡像 (Image)

容器 (Container)

倉庫 (Repository)

鏡像

Docker 鏡像是一個特殊的文件系統,除了提供容器運行時所需的程序、庫、資源、配置等文件外,還包含了一些為運行時準備的一些配置參數(如匿名卷、環境變量、用戶等)。鏡像不包含任何動態數據,其內容在構建之后也不會被改變。

在 Docker 設計時,就充分利用 Union FS 的技術,將其設計為分層存儲的架構。

鏡像構建時,會一層層構建,前一層是后一層的基礎。每一層構建完就不會再發生改變,后一層上的任何改變只發生在自己這一層。因此,在構建鏡像的時候,需要額外小心,每一層盡量只包含該層需要添加的東西,任何額外的東西應該在該層構建結束前清理掉。

容器

鏡像是靜態的定義,容器是鏡像運行時的實體。容器可以被創建、啟動、停止、刪除、暫停等。

每一個容器運行時,是以鏡像為基礎層,在其上創建一個當前容器的存儲層,我們可以稱這個為容器運行時讀寫而準備的存儲層為容器存儲層。

任何保存于容器存儲層的信息都會隨容器刪除而丟失。

容器不應該向其存儲層內寫入任何數據,容器存儲層要保持無狀態化。所有的文件寫入操作,都應該使用數據卷(Volume)、或者綁定宿主目錄,在這些位置的讀寫會跳過容器存儲層,直接對宿主(或網絡存儲)發生讀寫,其性能和穩定性更高。

使用數據卷后,容器刪除或者重新運行之后,數據卻不會丟失。

倉庫

倉庫是一個集中的存儲、分發鏡像的服務。

一個 Docker Registry 中可以包含多個倉庫( Repository );每個倉庫可以包含多個標簽( Tag );每個標簽對應一個鏡像。

鏡像的實現原理

每個鏡像都由很多層次構成,Docker 使用 Union FS 將這些不同的層結合到一個鏡像中去。

通常 Union FS 有兩個用途, 一方面可以實現不借助 LVM、RAID 將多個 disk 掛到同一個目錄下,另一個更常用的就是將一個只讀的分支和一個可寫的分支聯合在一起,Live CD 正是基于此方法可以允許在鏡像不變的基礎上允許用戶在其上進行一些寫操作。

Docker 在 AUFS 上構建的容器也是利用了類似的原理。

Docker數據管理

在容器中管理數據主要有兩種方式:

數據卷(Volumes)

掛載主機目錄 (Bind mounts)

數據卷

數據卷 是一個可供一個或多個容器使用的特殊目錄,它繞過 UFS,可以提供很多有用的特性:

數據卷 可以在容器之間共享和重用

對 數據卷 的修改會立馬生效

對 數據卷 的更新,不會影響鏡像

數據卷 默認會一直存在,即使容器被刪除

掛載主機目錄

掛載一個主機目錄作為數據卷

掛載一個本地主機文件作為數據卷

Docker底層實現

Docker 底層的核心技術包括 Linux 上的命名空間(Namespaces)、控制組(Control groups)、Union 文件系統(Union file systems)和容器格式(Container format)。

我們知道,在操作系統中,包括內核、文件系統、網絡、PID、UID、IPC、內存、硬盤、CPU 等等,所有的資源都是應用進程直接共享的。 要想實現虛擬化,除了要實現對內存、CPU、網絡IO、硬盤IO、存儲空間等的限制外,還要實現文件系統、網絡、PID、UID、IPC等等的相互隔離。 前者相對容易實現一些,后者則需要宿主機系統的深入支持。

隨著 Linux 系統對于命名空間功能的完善實現,程序員已經可以實現上面的所有需求,讓某些進程在彼此隔離的命名空間中運行。大家雖然都共用一個內核和某些運行時環境(例如一些系統命令和系統庫),但是彼此卻看不到,都以為系統中只有自己的存在。這種機制就是容器(Container),利用命名空間來做權限的隔離控制,利用 cgroups 來做資源分配。

基本架構

Docker 采用了 C/S 架構,包括客戶端和服務端。Docker 守護進程 ( Daemon )作為服務端接受來自客戶端的請求,并處理這些請求(創建、運行、分發容器)。

客戶端和服務端既可以運行在一個機器上,也可通過 socket 或者 RESTful API 來進行通信。

Docker 守護進程一般在宿主主機后臺運行,等待接收來自客戶端的消息。

Docker 客戶端則為用戶提供一系列可執行命令,用戶用這些命令實現跟 Docker 守護進程交互。

命名空間

命名空間是 Linux 內核一個強大的特性。每個容器都有自己單獨的命名空間,運行在其中的應用都像是在獨立的操作系統中運行一樣。命名空間保證了容器之間彼此互不影響。

pid 命名空間

net 命名空間

ipc 命名空間

mnt 命名空間

uts 命名空間

user 命名空間

控制組

控制組(cgroups)是 Linux 內核的一個特性,主要用來對共享資源進行隔離、限制、審計等。只有能控制分配到容器的資源,才能避免當多個容器同時運行時的對系統資源的競爭。

控制組可以提供對容器的內存、CPU、磁盤 IO 等資源的限制和審計管理。

聯合文件系統

聯合文件系統(UnionFS)是一種分層、輕量級并且高性能的文件系統,它支持對文件系統的修改作為一次提交來一層層的疊加,同時可以將不同目錄掛載到同一個虛擬文件系統下(unite several directories into a single virtual filesystem)。

聯合文件系統是 Docker 鏡像的基礎。鏡像可以通過分層來進行繼承,基于基礎鏡像(沒有父鏡像),可以制作各種具體的應用鏡像。

Docker 中使用的 AUFS(AnotherUnionFS)就是一種聯合文件系統。 AUFS 支持為每一個成員目錄(類似 Git 的分支)設定只讀(readonly)、讀寫(readwrite)和寫出(whiteoutable)權限, 同時 AUFS 里有一個類似分層的概念, 對只讀權限的分支可以邏輯上進行增量地修改(不影響只讀部分的)。

Docker 目前支持的聯合文件系統包括 OverlayFS , AUFS , Btrfs , VFS , ZFS 和 Device Mapper 。

在可能的情況下,推薦使用overlay2 存儲驅動, overlay2 是目前 Docker 默認的存儲驅動,以前則是aufs。

容器格式

使用 runC 和 containerd。

網絡

Docker 的網絡實現其實就是利用了 Linux 上的網絡命名空間和虛擬網絡設備(特別是 veth pair)

總結

以上是生活随笔為你收集整理的linux内核中用来对共享资源进行隔离,简单理解Docker的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日韩午夜高清 | 在线看b| 色诱视频在线观看 | 国产性猛交96 | 国产一级特黄毛片 | 特种兵之深入敌后 | 色91av| 国产老熟女伦老熟妇露脸 | 直接看毛片 | 欧美精品色图 | 日日夜夜天天干 | 色综合啪啪| 欧美成人精品一区二区综合免费 | 玖色视频| 亚洲天堂免费观看 | 人妻在卧室被老板疯狂进入 | 欧美一区成人 | 中文字幕第15页 | 亚洲一线二线在线观看 | 91精品国自产在线观看 | 国产午夜一级 | 亚洲一级特黄 | 成人黄色小视频 | 国产99久久久国产精品 | 日本a级一区| 欧美乱人伦 | 国产成人精品免费网站 | 久青草影院 | 女人下面流白浆的视频 | 六月丁香婷婷激情 | 7m精品福利视频导航 | 欧美性猛交99久久久久99按摩 | 亚洲精品一区二区三区蜜桃久 | 久久免费偷拍视频 | 大吊一区二区三区 | 理论片在线观看视频 | 天天操夜夜操夜夜操 | 91porn破解版| 欧美一区二区在线观看 | 18禁男女爽爽爽午夜网站免费 | 四虎影视成人永久免费观看亚洲欧美 | av小说区| 中文字幕91在线 | 最新av网站在线观看 | 欧美成人精品一区二区三区 | 欧美一级欧美三级 | 一区二区三区日本视频 | 丁香六月色婷婷 | 精品成人av一区二区三区 | 午夜羞羞影院 | 人人草超碰 | 熟女高潮一区二区三区 | 人人艹人人爽 | 在线看免费毛片 | 福利毛片 | 先锋影音亚洲 | xxxxx在线观看 | 99久久国 | 午夜av毛片| 亚洲美女性视频 | 三级在线看中文字幕完整版 | 91天天看| 三级男人添奶爽爽爽视频 | av在线不卡免费看 | www.一区二区三区四区 | 精品午夜一区二区 | 我要色综合天天 | av免费观看在线 | 九九热视频精品在线观看 | 91你懂的| 蘑菇视频黄色 | 午夜手机福利 | 成人动漫在线观看 | 欧美播放 | 亚洲精品成人影视 | 欧美精品91 | 伊人网在线免费观看 | 日本一区二区观看 | ass精品国模裸体pics | 日本高潮网站 | 青青青青在线 | 成人av图片 | 成人综合激情 | 澳门av网站 | 久久久ww| 日噜噜夜噜噜 | 美国免费高清电影在线观看 | 91字幕网 | 欧美影视一区二区三区 | 成人在线手机视频 | 免费观看毛片网站 | 萌白酱一区二区 | jizzjizz在线播放 | 丰满少妇一区二区三区专区 | 亚洲欧洲日韩综合 | 国产在线中文字幕 | 亚洲在线免费观看视频 | 一区二区三区伦理 | 国产精品视频99 |