国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

docker cgroup資源占用及docker的鏡像創(chuàng)建

這篇具有很好參考價(jià)值的文章主要介紹了docker cgroup資源占用及docker的鏡像創(chuàng)建。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

cgroup用來資源限制

包括cpu,內(nèi)存,磁盤三大方面

基本復(fù)寫了常見的資源配額和使用量控制

cgroup是controlgroup的縮寫

設(shè)置cpu使用率的上限

linux通過cfs(完全公平調(diào)度器)來調(diào)度各個(gè)進(jìn)程對cpu的使用,cfs默認(rèn)的調(diào)度周期是100ms

我們可以設(shè)置每個(gè)容器進(jìn)程的調(diào)度周期,以及再這個(gè)周期內(nèi)各個(gè)容器最多能使用cpu時(shí)間。

cpu分多少時(shí)間。

使用--cpu-period 即可設(shè)置一個(gè)cpu調(diào)度周期(使用上限),使用--cpu-quota 即可設(shè)置在每個(gè)周期內(nèi)容器能使用的cpu時(shí)間。兩者可配合使用。

docker cgroup資源占用及docker的鏡像創(chuàng)建

?cd /sys/fs/cgroup/cpu/docker/容器目錄

docker cgroup資源占用及docker的鏡像創(chuàng)建

設(shè)置cpu資源占用比(設(shè)置多個(gè)容器時(shí)才有效果)

--cpu-shares 1024

docker run -itd --name c1 --cpu-shares 1024 centos:7

docker run -itd --name c2 --cpu-shares 2048 centos:7

docker exec -it c1 bash

stress 多進(jìn)程壓測

兩個(gè)關(guān)掉一個(gè)容器另一個(gè)用所有資源

lscpu

docker ps -a

docker run -itd --name c3 --cpuset-cpus 1 centos:7

docker ps -a

docker exec -it c3 bash

yum install -y epel-release

yum -y install stress

Cgroup 資源限制

控制容器進(jìn)程對cpu,內(nèi)存,磁盤io 使用量的限制

docker run --cpu-period ?--cpu-quota 容器進(jìn)程使用cpu的使用率的上限

--cpu-period 1000~1000000

--cpu-quota >=1000

docker run --cpu-shares 1024的倍數(shù)#設(shè)置多個(gè)容器的cpu使用的占用比,只能在多個(gè)容器同時(shí)運(yùn)行時(shí)且資源緊張時(shí)有效

docker run --cpuset-cpus cpu編號 #設(shè)置容器綁定指定cpu,如多個(gè)cpu用逗號,間隔

2)對內(nèi)存使用的限制

//

docker cgroup資源占用及docker的鏡像創(chuàng)建

?docker run -m 內(nèi)存大小 --memory-swap=內(nèi)存與swap的總大小

#=-1 不限制swap的使用,宿主機(jī)有多少可以用多少

#=0或不設(shè)置 swap為-m的兩倍

=與-m的值相同 則不適用swap

-m 512mb --memory-swap=2G 內(nèi)存512 swap 1.5G #限制容器的內(nèi)存和swap大小

1M=1mb

測試:

docker exec -it c4 sh

dd if=/dev/zero of/opt/test.txt bs =1M count=10 oflag=direct

exit

docker run -itd --name c2 --device-write-bps /dev/sda:1M centos:7

磁盤io讀寫限制

docker run --device-read-bps 磁盤設(shè)備文件名:速率(單位可以是 kb mb M gb) #限制容器在磁盤上讀的速率

docker run --device-write-bps 磁盤設(shè)備文件名:速率(單位可以是 kb mb M gb) #限制容器在磁盤上寫的速率

docker run --device-read-iops 磁盤設(shè)備文件名:次數(shù) #限制容器在磁盤上讀的速率

docker run --device-write-iops 磁盤設(shè)備文件名:次數(shù) #限制容器在磁盤上寫的速率

docker的鏡像創(chuàng)建(只讀模板文件,包含容器里應(yīng)用程序所需的所有內(nèi)容)

創(chuàng)建鏡像的三種方法:分別是為基于已有鏡像的創(chuàng)建,基于本地模板創(chuàng)建以及基于dockerfile創(chuàng)建

1)基于現(xiàn)有鏡像創(chuàng)建

首先啟動(dòng)一個(gè)鏡像,在鏡像做修改

然后修改后的同時(shí)提交為新的鏡像需要使用

鏡像文件網(wǎng)站

docker cgroup資源占用及docker的鏡像創(chuàng)建

?創(chuàng)建容器的方法

1)基于現(xiàn)有鏡像創(chuàng)建

先使用現(xiàn)有鏡像創(chuàng)建容器 docker run

再進(jìn)入容器進(jìn)行內(nèi)容跟新 docker exec

最后提交成新的鏡像 docker commit docker export

+docker import導(dǎo)入

2)基于模板創(chuàng)建

可從本地容器導(dǎo)出模板文件 docker export或從網(wǎng)上下載現(xiàn)成的模板文件 http://openvz.org/Downlord/templete/precreated

再將模板文件導(dǎo)入成鏡像 docker import

3) dockerfile 構(gòu)建

docker鏡像架構(gòu)聯(lián)合文件系統(tǒng)架構(gòu)unionFS

支持對文件系統(tǒng)作為一次提交來一層層的疊加,同時(shí)可以將不同目錄掛載到同一個(gè)修文件系統(tǒng)下AUFS,overlayFS及devicemapper都是一種unionFS

bootfs加載宿主機(jī)的內(nèi)核

//鏡像加載原理

Docker的鏡像實(shí)際上由一層一層的文件系統(tǒng)組成,這種層級的文件系統(tǒng)就是UnionES。

bootfs主要包含bootloader和kernel,bootloader主要是引導(dǎo)加載kernel,Linux剛啟動(dòng)時(shí)會加載bootfs文件系統(tǒng)。

在Docker鏡像的最底層是bootfs,這一層與我們典型的Linx/unix系統(tǒng)是一樣的,包含boot 加載器和內(nèi)核。當(dāng)boot加載完成之后整個(gè)內(nèi)核就都在內(nèi)存中了,此時(shí)內(nèi)存的使用權(quán)已由bootfs轉(zhuǎn)交給內(nèi)核,此時(shí)系統(tǒng)也會卸載bootfs。

rootfs,在bootfs之上。包含的就是典型Limx系統(tǒng)中的/dev,/proc,/bin,/etc等標(biāo)準(zhǔn)目錄和文件。rootfs就是各種不同的操作系統(tǒng)發(fā)行版,比如ubuntu,centos等等

我們回以理解成一開始內(nèi)核里什么都沒有,操作一個(gè)命今下我debian,這時(shí)就會在內(nèi)孩上面加了一層某礎(chǔ)鏡像:再安裝一個(gè)emacs,會在基礎(chǔ)鏡像上疊加一層image: 按著再安裝一apache。又會在images面加一image。最后它們看起來就像一文件系統(tǒng)即究賽的rootfs。在Docker的體系里把這些rootsr的境像。但是,此的每一層rootfs都是read-only的,我們此時(shí)還不能對其進(jìn)行作。當(dāng)我們創(chuàng)建一個(gè)容器,也就是將Docker鏡像進(jìn)行實(shí)例化,系統(tǒng)會在一層或是多層read-only的rootfs之上分配一層空的read-write的rootfs.

//為什么Docker里的centos的大小才200M?

因?yàn)閷τ诰喌腛S,工O0ts可以很小,只需要包含最基本的命令、工具和程序庫就可以了,因?yàn)榈讓又苯佑盟拗鳈C(jī)的Kaml,自己只需要提供rotfs就可以了。由此可見對于不同的linux發(fā)行版,bootfs基本是一致的,rootfs會有差別,因此不同的發(fā)行版可以公用bootfs。

//Dockerfile

Docker鏡像是一個(gè)特殊的文件系統(tǒng),除了提供容器運(yùn)行時(shí)所需的程序、庫、資源、配置等文件外,還包含了一些為運(yùn)行時(shí)準(zhǔn)備的一些配置參數(shù)(如置名卷、環(huán)境變量、用戶等)。鏡像不包含任何動(dòng)態(tài)數(shù)據(jù),其內(nèi)容在構(gòu)建之后也不會被改變。

鏡像的定制實(shí)際上就是定制每一層所添加的配置、文件。如果我們可以把每一層修改、安裝、檢建、操作的金今都寫入一個(gè)腳本,用這個(gè)制太夾構(gòu)建、定制接像,那么轉(zhuǎn)像構(gòu)建透明性的問題、體積的問題就都會解決。這個(gè)腳本就是 Dockerfile。

dockerfile是一個(gè)文本文件,其內(nèi)包含了一條條的指令 (Instruction),每一條指今構(gòu)建一層,因此每一條指令的內(nèi)容,就是捕述該層應(yīng)當(dāng)如何構(gòu)建。有了nockerfi1le,當(dāng)我們需要定制自己額外的需求時(shí),只需在Dockerfile上添加或者修改指令,重新生成 image 即可, 省去了敲命令的麻煩

docker cgroup資源占用及docker的鏡像創(chuàng)建

rootfs包含標(biāo)準(zhǔn)目錄和文件(linux系統(tǒng))

docker inspect 產(chǎn)看詳細(xì)信息

可以理解成一開始內(nèi)核里什么都沒有,操作一個(gè)命令下載一個(gè)debian

docker cgroup資源占用及docker的鏡像創(chuàng)建

dockerfile機(jī)構(gòu)包含四個(gè)部分,基礎(chǔ)鏡像信息,維護(hù)者信息,鏡像操作指令和容器啟動(dòng)時(shí)執(zhí)行指令.容器數(shù)據(jù)的持久化用數(shù)據(jù)卷.(# ;不管前面的命令是否成功都會執(zhí)行下一個(gè))

寫時(shí)復(fù)制技術(shù)

docker cgroup資源占用及docker的鏡像創(chuàng)建文章來源地址http://www.zghlxwxcb.cn/news/detail-472357.html

到了這里,關(guān)于docker cgroup資源占用及docker的鏡像創(chuàng)建的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【云原生】Docker網(wǎng)絡(luò)及Cgroup資源控制

    【云原生】Docker網(wǎng)絡(luò)及Cgroup資源控制

    Docker使用Linux橋接,在宿主機(jī)虛擬一個(gè)Docker容器網(wǎng)橋(docker0),Docker啟動(dòng)一個(gè)容器時(shí)會根據(jù)Docker網(wǎng)橋的網(wǎng)段分配給容器一個(gè)IP地址,稱為Container-IP,同時(shí)Docker網(wǎng)橋是每個(gè)容器的默認(rèn)網(wǎng)關(guān)。因?yàn)樵谕凰拗鳈C(jī)內(nèi)的容器都接入同一個(gè)網(wǎng)橋,這樣容器之間就能夠通過容器的 Container-IP 直

    2024年02月16日
    瀏覽(29)
  • 500行代碼手寫docker-實(shí)現(xiàn)硬件資源限制cgroups

    本系列教程主要是為了弄清楚容器化的原理,紙上得來終覺淺,絕知此事要躬行,理論始終不及動(dòng)手實(shí)踐來的深刻,所以這個(gè)系列會用go語言實(shí)現(xiàn)一個(gè)類似docker的容器化功能,最終能夠容器化的運(yùn)行一個(gè)進(jìn)程。 本章的源碼已經(jīng)上傳到github,地址如下: 之前我們對容器的網(wǎng)絡(luò)命

    2024年02月06日
    瀏覽(21)
  • Linux Cgroups進(jìn)程資源限制管理 之 資源子系統(tǒng)限制/控制、Docker資源隔離與限制原理解讀

    Linux cgroups(控制組)最初由Google工程師Paul Menage在2006年提出,并在Linux內(nèi)核的2.6.24版本中首次引入。自那時(shí)以來,cgroups一直是Linux內(nèi)核的一部分,并在容器化技術(shù)等領(lǐng)域中發(fā)揮著至關(guān)重要的作用。隨著時(shí)間的推移,cgroups功能不斷得到改進(jìn)和擴(kuò)展,以滿足對資源管理和隔離性能

    2024年02月21日
    瀏覽(20)
  • linux 內(nèi)核資源配置--cgroups詳解以及在docker中的應(yīng)用

    linux 內(nèi)核資源配置--cgroups詳解以及在docker中的應(yīng)用

    1.1、cgroups 是什么 Linux cgroup (Control Groups)是 Linux 內(nèi)核提供的一種機(jī)制, 用于限制進(jìn)程組使用的資源(如 CPU、內(nèi)存、磁盤 I/O 等) 。通過將進(jìn)程組劃分為層次結(jié)構(gòu),并將資源限制應(yīng)用于不同層次的組,可以實(shí)現(xiàn)對系統(tǒng)資源的統(tǒng)一管理和限制。 cgroup 提供了一套 API,用于創(chuàng)建

    2024年02月16日
    瀏覽(25)
  • 【windows Docker鏡像占用許多空間:將數(shù)據(jù)遷移到D盤】

    【windows Docker鏡像占用許多空間:將數(shù)據(jù)遷移到D盤】

    首先退出docker 參考文章:https://blog.csdn.net/qingyang0320/article/details/130179881

    2024年02月05日
    瀏覽(24)
  • Hadoop YARN Cgroups 資源隔離講解

    Hadoop YARN Cgroups 資源隔離講解

    Hadoop YARN (Yet Another Resource Negotiator) 使用 Cgroups (Control Groups)來進(jìn)行資源管理和隔離。 Cgroups 是 Linux 內(nèi)核提供的一種機(jī)制,用于限制、賬戶和隔離進(jìn)程組(process groups)的資源(例如 CPU、內(nèi)存、磁盤 I/O 等)。 以下是 Hadoop YARN Cgroups 的主要講解: 資源隔離和管理: Cgroups 允

    2024年02月01日
    瀏覽(46)
  • 初探 Linux Cgroups:資源控制的奇妙世界

    Cgroups 是 linux 內(nèi)核提供的功能,由于牽涉的概念比較多,所以不太容易理解。本文試圖通過簡單的描述和 Demo 幫助大家理解 Cgroups 。 如果你對云原生技術(shù)充滿好奇,想要深入了解更多相關(guān)的文章和資訊,歡迎關(guān)注微信公眾號。 搜索公眾號【 探索云原生 】即可訂閱 Cgroups 是

    2024年02月03日
    瀏覽(16)
  • 深入剖析 Linux Cgroups 子系統(tǒng):資源精細(xì)管理

    本章主要演示以下 cgroups 下各個(gè) subsystem 的作用。 根據(jù)難易程度,依次演示了 pids 、cpu 和 memory 3 個(gè) subsystem 的使用。 注:本文所有操作在 Ubuntu20.04 下進(jìn)行。 如果你對云原生技術(shù)充滿好奇,想要深入了解更多相關(guān)的文章和資訊,歡迎關(guān)注微信公眾號。 搜索公眾號【 探索云原

    2024年02月02日
    瀏覽(21)
  • Docker(三) 創(chuàng)建Docker鏡像

    Docker(三) 創(chuàng)建Docker鏡像

    一、在Docker中拉取最基本的Ubuntu系統(tǒng)鏡像 ? ? ? ? 搜索Ubuntu鏡像 Explore Docker\\\'s Container Image Repository | Docker Hub ? ? ? ? 下載鏡像 二、在鏡像中添加自己的內(nèi)容 ? ? ? ? 使用ubuntu鏡像創(chuàng)建容器 ? ? ? ? 在容器中創(chuàng)建了一個(gè)文件 ? ? ? ? 通過docker commit 來從容器中創(chuàng)建一個(gè)新的

    2024年02月10日
    瀏覽(19)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包