好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > Docker底層技術Namespace Cgroup應用詳解

Docker底層技術Namespace Cgroup應用詳解

熱門標簽:湖北ai智能電銷機器人 高德地圖標注論壇 新科美甲店地圖標注 新邵電銷機器人企業 外呼系統打哪顯哪 AI電銷機器人 源碼 蘭州ai電銷機器人招商 江西外呼系統 北海市地圖標注app

Docker底層技術:

docker底層的2個核心技術分別是Namespaces和Control groups

Namespace:是容器虛擬化的核心技術,用來隔離各個容器,可解決容器之間的沖突。

主要通過以下六項隔離技術來實現:
有兩個偽文件系統:/proc和/sys/

  • UTS:允許每個container擁有獨立的hostname(主機名)和domainname(域名),使其在網絡上可以被視作一個獨立的節點而非Host上的一個進程。
  • IPC:contaner中進程交互還是采用linux常見的進程間交互方法,包括常見的信號量,消息隊列和共享內存。container的進程間交互實際上還是host上具有相同pid中的進程交互。
  • PID:不同用戶的進程就是通過pid namesapce隔離開的,且不同namespace中可以有相同pid。所有的LXC(linux containers)進程在docker中的父進程為docker進程,每個LXC進程具有不同的namespace。
  • NET:不同用戶的進程就是通過pidnamespace隔離開的,且不同namespace中可以有相同pid。所有的LXC進程在docker中的父進程為docker進程,每個lxc進程具有不同的namespace。
  • MNT:文件系統的掛載點。
  • USRE:每個container可以有不同的user和groupid,也就是說可以在container內部用container內部的用戶執行程序而非Host上的用戶。

只要解耦了這6項,其他系統資源即便有共用的情況,計算機也認為是在兩個不同的系統中。

cgroup(控制程序對資源的占用)

實現cgroup是的主要目的是為不同用戶層面的資源管理,提供一個統一化的接口。從單個進程的資源控制到操作系統層面的虛擬化。

cgroup的作用:

1) 資源的限制:cgroup可以對進程組使用的資源總額進行限制。
2) 優先級分配:通過分配的cpu時間片數量及磁盤IO帶寬大小,實際上就是相當于控制了進程運行的優先級
3) 資源統計:Cgroup可以統計系統資源使用量。比如cpu使用時間,內存使用量等。
可用于按量計費。
4) 進程控制:可以對進程組執行掛起,恢復等操作。

cgroup的應用:

1)內存和交換分區的限制:

容器內包括兩個部分:物理內存和swap

在docker中可以通過參數控制容器內存的使用:

-m或--memory:設置內存的使用限額

--memory-swap:設置swap(交換分區)的使用限額

//基于centos鏡像,限制內存為200M,交換分區的內存為300M

[root@sqm-docker01 ~]# docker run -it -m 200M --memory-swap 300M centos

進入容器查看限制的內存:

[root@05a0be7b870a /]# cat /sys/fs/cgroup/memory/memory.limit_in_bytes 
209715200  #顯示的是字節

[root@05a0be7b870a /]# cat /sys/fs/cgroup/memory/memory.memsw.limit_in_bytes 
314572800

2)容器對cpu限制:

通過-c或者--cpu-shares設置容器實驗cpu的權重。如果不設置默認是1024.

//基于centos鏡像,運行一個容器,名字為containerB,cpu權重限制為512:
[root@sqm-docker01 ~]# docker run -it --name containerB -c 512 centos
[root@b2cf9f28ce1d /]# cat /sys/fs/cgroup/cpu/cpu.shares 
512

3)限制容器的Block io(磁盤的讀寫):

bps:每秒讀寫的數據量。byte per second
iops:每秒io的次數。 io per second

--device-read-bps:設置讀取設備的bps
--device-write-bps:設置寫入設備的bps

--device-read-iops:設置讀取設備的iops
--device-write-iops:設置寫入設備的iops

//創建一個容器名為testA,并限制該磁盤每秒寫入的數量為為30MB。
[root@sqm-docker01 ~]# docker run -it --name testA --device-write-bps /dev/sda:30MB centos

寫入數據進行測試:

參數解釋:
infile=從/dev/zero中提取
outfile=自定義一個名稱
bs=1M 文件大小為1M
count=800 總共寫800次。
oflag=direct:用來指定directory IO方式寫文件,這樣才會使--device-write-bps生效。

可以發現每秒寫入的數量為80M,大概用時26s。

正常寫入磁盤時:

以上就是本次介紹的關于Docker底層技術全部知識點,感謝大家的學習和對腳本之家的支持。

標簽:池州 阿克蘇 海南 南陽 自貢 黔東 黃石 大理

巨人網絡通訊聲明:本文標題《Docker底層技術Namespace Cgroup應用詳解》,本文關鍵詞  Docker,底層,技術,Namespace,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Docker底層技術Namespace Cgroup應用詳解》相關的同類信息!
  • 本頁收集關于Docker底層技術Namespace Cgroup應用詳解的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 久久久亚洲熟妇熟| 欧美一级片a| 久久久久久久久免费影院| 很黄的性视频| 色情高潮做进去大尺度纪录片| 免费在线视频播放| 男女性生活刺激视频播放| brazzers1080高清720| 久久亚洲一级α片| bl一攻多受h嗯啊巨肉| 91精品国产综合一区二区三区大| 久久成人永久免费播放| 男受被各种道具调教| 又粗又大又黄A片免费看久久久| 一级毛片试看三分钟| 丹麦大白屁股xxxxx哺乳| 动漫做床爱大尺度电影| 吸女人奶头奶水视频| 黄污视频在线免费观看| 工地夜晚女人的呻吟声小说 | 美女自己脱内衣挤奶| 亚洲AV无码乱码精品国产| 视频一区二区免费| 男生和女生差来差去的app大全下载| 迈开腿让我吃你的小扇贝| 1一925大雄性事全文…| 秋霞小视频| 猫女的诅咒追剧看| 精品无码人妻一区二区免费AV | 草社區最新地址入口| 久久久久久精品无码午夜| 国产精品人妻无码一区二区三区 | 国产精品香港三级在线电影| sunwall95未删减版视频| 国产免费一级毛卡片影视| 国产后入又长又硬| 国产麻豆91网在线看| 婷婷国产成人精品视频小说| 小受被用各种姿势进入np| 厨房里挺进岳丰满大屁股| 久久夜色精品夜色噜噜亚|