最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Docker底層技術(shù)Namespace Cgroup應(yīng)用詳解

 更新時間:2019年10月29日 08:20:00   作者:51cto  
在本篇文章里小編給大家整理的是關(guān)于Docker底層技術(shù)Namespace Cgroup應(yīng)用的相關(guān)知識點,需要的朋友們學習下。

Docker底層技術(shù):

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

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

主要通過以下六項隔離技術(shù)來實現(xiàn):
有兩個偽文件系統(tǒng):/proc和/sys/

  • UTS:允許每個container擁有獨立的hostname(主機名)和domainname(域名),使其在網(wǎng)絡(luò)上可以被視作一個獨立的節(jié)點而非Host上的一個進程。
  • IPC:contaner中進程交互還是采用linux常見的進程間交互方法,包括常見的信號量,消息隊列和共享內(nèi)存。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:文件系統(tǒng)的掛載點。
  • USRE:每個container可以有不同的user和groupid,也就是說可以在container內(nèi)部用container內(nèi)部的用戶執(zhí)行程序而非Host上的用戶。

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

cgroup(控制程序?qū)Y源的占用)

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

cgroup的作用:

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

cgroup的應(yīng)用:

1)內(nèi)存和交換分區(qū)的限制:

容器內(nèi)包括兩個部分:物理內(nèi)存和swap

在docker中可以通過參數(shù)控制容器內(nèi)存的使用:

-m或--memory:設(shè)置內(nèi)存的使用限額

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

//基于centos鏡像,限制內(nèi)存為200M,交換分區(qū)的內(nèi)存為300M

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

進入容器查看限制的內(nèi)存:

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

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

2)容器對cpu限制:

通過-c或者--cpu-shares設(shè)置容器實驗cpu的權(quán)重。如果不設(shè)置默認是1024.

//基于centos鏡像,運行一個容器,名字為containerB,cpu權(quán)重限制為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:每秒讀寫的數(shù)據(jù)量。byte per second
iops:每秒io的次數(shù)。 io per second

--device-read-bps:設(shè)置讀取設(shè)備的bps
--device-write-bps:設(shè)置寫入設(shè)備的bps

--device-read-iops:設(shè)置讀取設(shè)備的iops
--device-write-iops:設(shè)置寫入設(shè)備的iops

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

寫入數(shù)據(jù)進行測試:

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

可以發(fā)現(xiàn)每秒寫入的數(shù)量為80M,大概用時26s。

正常寫入磁盤時:

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

相關(guān)文章

  • docker容器退出錯誤碼的步驟

    docker容器退出錯誤碼的步驟

    有時有些docker容器執(zhí)行一段時間后退出了,為了查明原因采用查看下docker容器退出的錯誤碼,下面小編給大家?guī)砹薲ocker錯誤碼的操作步驟,一起看看吧
    2021-08-08
  • 騰訊云服務(wù)器docker開啟端口后無法訪問的解決方法

    騰訊云服務(wù)器docker開啟端口后無法訪問的解決方法

    本文主要介紹了騰訊云服務(wù)器docker開啟端口后無法訪問的解決方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-06-06
  • 查看docker鏡像中文件的方法

    查看docker鏡像中文件的方法

    在本篇文章里小編給各位分享的是關(guān)于查看docker鏡像中文件的方法,有興趣的朋友們可以參考學習下。
    2020-03-03
  • 一文學會docker?安裝mysql的方法

    一文學會docker?安裝mysql的方法

    這篇文章主要介紹了docker?安裝?mysql的方法,通過使用docker命令下載mysql接著使用docker命令創(chuàng)建實例并啟動,對docker?安裝?mysql相關(guān)知識感興趣的朋友一起看看吧
    2022-04-04
  • Docker部署MySQL并實現(xiàn)客戶端連接

    Docker部署MySQL并實現(xiàn)客戶端連接

    這篇文章介紹了Docker部署MySQL并實現(xiàn)客戶端連接的方法,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-01-01
  • Docker 安裝 Nginx 并掛載目錄的實現(xiàn)示例

    Docker 安裝 Nginx 并掛載目錄的實現(xiàn)示例

    本文介紹了如何使用Docker拉取Nginx鏡像、創(chuàng)建容器,并設(shè)置掛載目錄,掛載目錄用于將容器內(nèi)配置文件與主機關(guān)聯(lián),便于直接修改影響容器配置,感興趣的可以了解一下
    2024-10-10
  • docker搭建minio服務(wù)器,解決內(nèi)網(wǎng)穿透后外網(wǎng)無法訪問

    docker搭建minio服務(wù)器,解決內(nèi)網(wǎng)穿透后外網(wǎng)無法訪問

    這篇文章主要介紹了docker搭建minio服務(wù)器,解決內(nèi)網(wǎng)穿透后外網(wǎng)無法訪問的問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • 淺談Docker 容器數(shù)據(jù)卷掛載小結(jié)

    淺談Docker 容器數(shù)據(jù)卷掛載小結(jié)

    本篇文章主要介紹了淺談Docker 容器數(shù)據(jù)卷掛載小結(jié),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11
  • docker容器的幾種存儲詳解

    docker容器的幾種存儲詳解

    本文主要介紹了docker容器的幾種存儲方式,主要介紹了3種,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • docker環(huán)境下分布式運行jmeter的教程詳解

    docker環(huán)境下分布式運行jmeter的教程詳解

    這篇文章主要介紹了docker環(huán)境下分布式運行jmeter的教程,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-10-10

最新評論

宣汉县| 鄂托克旗| 巴青县| 嘉祥县| 闽侯县| 平武县| 集贤县| 高唐县| 高雄市| 额尔古纳市| 牡丹江市| 共和县| 溧水县| 乐清市| 和龙市| 视频| 新余市| 临西县| 栾城县| 喜德县| 榆林市| 福鼎市| 绍兴县| 富阳市| 海城市| 商都县| 依兰县| 南汇区| 华池县| 疏附县| 沙河市| 绍兴县| 鹿泉市| 略阳县| 革吉县| 蒲江县| 滁州市| 镇坪县| 荆门市| 赤峰市| 界首市|