婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識(shí)庫 > docker容器的原理分析

docker容器的原理分析

熱門標(biāo)簽:上海申請(qǐng)高400開頭的電話 宿城區(qū)電話機(jī)器人找哪家 400電話辦理介紹信 怎么找到?jīng)]有地圖標(biāo)注的店 打400電話怎么辦理收費(fèi) 麗江真人語音電話外呼系統(tǒng) 福州企業(yè)電銷機(jī)器人排名 河南防封號(hào)電銷機(jī)器人是什么 10086外包用的什么外呼系統(tǒng)

01 容器的本質(zhì)是什么?

      今天的重點(diǎn)問題是講述清楚什么是容器。

     要理解容器的概念,首先我們需要知道什么是進(jìn)程?當(dāng)我們?cè)贚inux操作系統(tǒng)執(zhí)行一個(gè)程序,這個(gè)程序可能是一個(gè)二進(jìn)制文件,它被調(diào)用的時(shí)候,變成了計(jì)算機(jī)內(nèi)存中的數(shù)據(jù)、寄存器中的值、堆棧中的指令、以及各種設(shè)備狀態(tài)信息的一個(gè)集合。像這樣的一個(gè)計(jì)算機(jī)執(zhí)行環(huán)境的綜合,我們稱之為進(jìn)程。

   容器,就是為這個(gè)進(jìn)程提供一個(gè)"邊界",理解成白話,就是把這個(gè)進(jìn)程"包"起來,它本質(zhì)上是通過約束和修改進(jìn)程的一些動(dòng)態(tài)表現(xiàn)實(shí)現(xiàn)的這個(gè)"包"的動(dòng)作。

    不難看出來,容器是一種特殊的、有"邊界"的進(jìn)程。

    現(xiàn)在我們來看一個(gè)MySQL容器的進(jìn)程特點(diǎn)。

1、先查看下我們機(jī)器上mysql容器的containerID值,如下:

[root@VM-16-13-centos service]# docker ps | grep mysql
4784586d01e0        mysql                                                        "docker-entrypoint..."   3 months ago        Up 3 months                             k8s_mysql.16d54d16_mysql-pd7jr_default_0032bce0-2b0f-11eb-98ad-5254002dbd85_d775f414

可以看到,containerID的值是4784586d01e0

2、首先我們通過docker exec命令(關(guān)于這條命令的介紹,下面會(huì)有講述)進(jìn)入一個(gè)容器里面,ps -ef命令查看進(jìn)程:

[root@VM-16-13-centos service]# docker exec -it 4784586d01e0  bash
root@mysql-pd7jr:/# ps -ef
UID        PID  PPID  C STIME TTY          TIME CMD
mysql        1     0  0  2020 ?        03:20:20 mysqld
root       882     0  0 09:42 ?        00:00:00 bash
root       888   882  0 09:46 ?        00:00:00 ps -ef

可以發(fā)現(xiàn),mysqld這個(gè)進(jìn)程的進(jìn)程號(hào)是1.

這里我要多嘴一下:

1、docker exec -it 4784586d01e0 bash

這條指令是告訴容器,我要進(jìn)入這個(gè)容器里面,并運(yùn)行一個(gè)bash的指令。

2、如果你的docker里面不支持ps命令,你需要使用下面的命令安裝一下ps這個(gè)指令:

apt-get update & apt-get install procps

然后我們退出到容器外面,再次查看mysqld進(jìn)程的進(jìn)程號(hào):

[root@VM-16-13-centos service]# ps -ef|grep mysql
root      5152  5059  0  2020 pts/5    00:00:00 mysql -uroot -px xxxx
root     13644 24879  0  2020 pts/4    00:00:00 mysql -uroot -px xxxx
polkitd  18853 18837  0  2020 ?        03:20:25 mysqld

發(fā)現(xiàn)進(jìn)程號(hào)是18853。

可以得到一個(gè)結(jié)論,mysqld進(jìn)程在容器里面和容器外面執(zhí)行的結(jié)果不一樣。

為什么會(huì)這樣?

其本質(zhì)是docker容器中的進(jìn)程被隔離在了一個(gè)新的環(huán)境中,使得這些進(jìn)程只能看到重新計(jì)算過的PID號(hào)。前面我們說過,docker本質(zhì)上是通過約束和修改進(jìn)程的一些動(dòng)態(tài),將一個(gè)物理機(jī)上的進(jìn)程"包"起來,我們看到的這個(gè)現(xiàn)象,就是"包"的結(jié)果。

那么Linux是如何將物理機(jī)進(jìn)程進(jìn)行的約束和修改呢?這里引入新的概念:

對(duì)于 Docker 等大多數(shù) Linux 容器來說,Linux 的Cgroups 技術(shù)是用來制造約束的主要手段,而
Namespace 技術(shù)則是用來修改進(jìn)程視圖的主要方法。

02 Cgroup技術(shù)和Namespace技術(shù)介紹

    Namespace技術(shù)主要是為容器提供資源隔離用的。Namespace這個(gè)功能實(shí)現(xiàn)的方法比較簡(jiǎn)單,通常情況下,我們創(chuàng)建Linux進(jìn)程的時(shí)候,系統(tǒng)會(huì)執(zhí)行一個(gè)clone的命令,類似:

int pid = clone(main_function, stack_size, SIGCHLD, NULL);

它返回的就是我們創(chuàng)建的進(jìn)程的PID號(hào)。

而Namespace技術(shù)就是在Linux創(chuàng)建進(jìn)程的時(shí)候,多了一個(gè)參數(shù),這個(gè)新參數(shù)暫且稱之為newid,這樣,在容器內(nèi),我們看到的進(jìn)程的PID號(hào),就是這個(gè)newid了。這個(gè)Namespace我們稱之為PID Namespace。

    除了這個(gè)Namespace,還有其他的,例如mount Namespace,Network Namespace等,分別是為了隔離掛載點(diǎn)和隔離網(wǎng)絡(luò)的。

    當(dāng)然,不是所有的資源都能夠被namespace化,例如時(shí)間和操作系統(tǒng)內(nèi)核,就是一個(gè)服務(wù)器上的所有容器共享的。

    容器一旦開始運(yùn)行,我們需要控制它使用的機(jī)器資源,例如磁盤、內(nèi)存、CPU等,否則它可能會(huì)耗盡物理機(jī)的資源,導(dǎo)致一些系統(tǒng)進(jìn)程發(fā)生崩潰。Cgroup技術(shù)就是專門為L(zhǎng)inux進(jìn)程限制資源使用的。它的全程是Linux Control Group,它以文件和目錄的形式存放在/sys/fs/cgroups目錄下,如下:

[root@VM-16-13-centos service]# ls -l /sys/fs/cgroup/
total 0
drwxr-xr-x 4 root root  0 Nov 20 11:38 blkio
lrwxrwxrwx 1 root root 11 Nov 20 11:38 cpu -> cpu,cpuacct
lrwxrwxrwx 1 root root 11 Nov 20 11:38 cpuacct -> cpu,cpuacct
drwxr-xr-x 5 root root  0 Nov 20 11:38 cpu,cpuacct
drwxr-xr-x 3 root root  0 Nov 20 11:38 cpuset
drwxr-xr-x 4 root root  0 Nov 20 11:38 devices
drwxr-xr-x 3 root root  0 Nov 20 11:38 freezer
drwxr-xr-x 3 root root  0 Nov 20 11:38 hugetlb
drwxr-xr-x 5 root root  0 Nov 20 11:38 memory
lrwxrwxrwx 1 root root 16 Nov 20 11:38 net_cls -> net_cls,net_prio
drwxr-xr-x 3 root root  0 Nov 20 11:38 net_cls,net_prio
lrwxrwxrwx 1 root root 16 Nov 20 11:38 net_prio -> net_cls,net_prio
drwxr-xr-x 3 root root  0 Nov 20 11:38 perf_event
drwxr-xr-x 4 root root  0 Nov 20 11:38 pids
drwxr-xr-x 4 root root  0 Nov 20 11:38 systemd

    不同的文件目錄里面,存儲(chǔ)不同的資源種類被限制的值,其中,比較常用的:

blkio:為塊設(shè)備設(shè)置i/o限制,一般用于磁盤等設(shè)備

cpuset:為進(jìn)程分配單獨(dú)的CPU核心和對(duì)應(yīng)的內(nèi)存節(jié)點(diǎn)

memory:為進(jìn)程設(shè)定內(nèi)存使用的限制。

    當(dāng)我們通過命令啟動(dòng)容器之后,操作系統(tǒng)會(huì)把這個(gè)docker進(jìn)程對(duì)應(yīng)的PID填寫到對(duì)應(yīng)控制組的文件中,從而控制當(dāng)前進(jìn)程使用的CPU資源值。

03 容器、鏡像和倉(cāng)庫之間的關(guān)系

Docker 包括三個(gè)基本概念:

  • 鏡像(Image)
  • 容器(Container)
  • 倉(cāng)庫(Repository)

這三部分組成了Docker的整個(gè)生命周期,如上圖所示。

docker鏡像包含了文件系統(tǒng),類似于虛擬機(jī)的鏡像,它是只讀的模板。這個(gè)文件系統(tǒng)也通常被稱之為rootfs,通常包含了bin、etc、sys、usr等一系列目錄。

docker容器是由鏡像實(shí)例化而來的,這和我們學(xué)習(xí)的面向?qū)ο蟮母拍钍窒嗨疲覀兛梢园宴R像想象成類,把容器想象成類經(jīng)過實(shí)例化后的對(duì)象,這樣就非常好理解鏡像和容器的關(guān)系了。

docker倉(cāng)庫:類似與代碼倉(cāng)庫,是Docker集中存放鏡像文件的場(chǎng)所

這個(gè)關(guān)系可以更加清楚的表述為:

以上就是詳解docker容器的概念的詳細(xì)內(nèi)容,更多關(guān)于docker容器的概念的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

標(biāo)簽:連云港 荊門 遵義 運(yùn)城 雞西 面試通知 隴南 朝陽

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《docker容器的原理分析》,本文關(guān)鍵詞  docker,容器,的,原理,分析,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《docker容器的原理分析》相關(guān)的同類信息!
  • 本頁收集關(guān)于docker容器的原理分析的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    国产欧美精品一区| 亚洲视频一区二区免费在线观看| 亚洲永久精品国产| 91精品国产aⅴ一区二区| 久久精品视频免费观看| 欧美中文字幕亚洲一区二区va在线 | 欧美美女一区二区在线观看| 国产精品久久一卡二卡| 免费在线欧美视频| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 亚洲色图另类专区| 久久99精品国产麻豆不卡| 欧洲人成人精品| 国产精品国产三级国产普通话99 | 亚洲777理论| 97久久超碰精品国产| 久久久精品免费观看| 久久99久久久久久久久久久| 在线不卡免费欧美| 午夜精品久久久久久久| 色狠狠一区二区三区香蕉| 国产日本一区二区| 国产一区二区久久| 26uuu久久天堂性欧美| 秋霞午夜av一区二区三区| 欧美色国产精品| 亚洲国产另类av| 欧美女孩性生活视频| 亚洲综合成人在线视频| 精品视频资源站| 亚洲一区在线视频| 欧美日韩在线播放一区| 亚洲超碰精品一区二区| 欧美日韩一级二级三级| 亚洲高清中文字幕| 6080日韩午夜伦伦午夜伦| 日本免费新一区视频| 日韩三级视频在线看| 久久99久久99小草精品免视看| 日韩美一区二区三区| 国产一区亚洲一区| 中文字幕不卡在线| 北岛玲一区二区三区四区| 亚洲日本免费电影| 欧美亚洲免费在线一区| 亚洲成人av在线电影| 正在播放亚洲一区| 国产乱一区二区| 中文字幕一区二区不卡| 色婷婷av一区二区三区之一色屋| 亚洲国产视频一区| 日韩一区二区三区四区| 国产精品99久久久久久有的能看| 国产午夜精品久久久久久免费视 | 国产一区二区看久久| 国产日本欧洲亚洲| 色视频成人在线观看免| 五月婷婷另类国产| 国产欧美一区二区三区在线老狼| 99视频精品在线| 日韩电影在线一区二区三区| 久久久久久久综合色一本| 99国产麻豆精品| 日韩电影在线一区| 国产精品人人做人人爽人人添| 欧美视频一区二区在线观看| 日韩1区2区3区| 国产精品久久久久久亚洲毛片 | 亚洲欧洲精品天堂一级 | 中文字幕中文字幕在线一区 | 国产大陆精品国产| 亚洲一区二区av在线| 精品国产91久久久久久久妲己| 成人黄色一级视频| 毛片基地黄久久久久久天堂| 亚洲欧洲日韩女同| 精品国产一区久久| 欧美日韩卡一卡二| 成人综合婷婷国产精品久久免费| 日本亚洲三级在线| 亚洲免费伊人电影| 久久久精品黄色| 91精品国产综合久久福利| 99精品欧美一区二区三区小说| 婷婷六月综合亚洲| 亚洲三级电影网站| 久久精品男人的天堂| 91精品综合久久久久久| 色婷婷av一区| 成人黄色免费短视频| 激情综合网天天干| 五月天激情小说综合| 国产精品久久久久久久久果冻传媒| 精品日韩欧美在线| 欧美精品在线观看播放| 一本久久a久久精品亚洲| 国产suv一区二区三区88区| 裸体歌舞表演一区二区| 爽好多水快深点欧美视频| 一区二区三区在线观看动漫| 亚洲国产精品成人久久综合一区 | 国产精品456露脸| 极品美女销魂一区二区三区| 男人的天堂亚洲一区| 亚洲一区二区三区中文字幕在线| **欧美大码日韩| 中文字幕一区二区不卡| 综合av第一页| 亚洲欧美综合色| 国产精品久久国产精麻豆99网站| 久久久国产精品麻豆| 精品国产一区二区三区久久久蜜月 | 在线综合视频播放| 欧美午夜寂寞影院| 欧美日韩一区二区三区高清 | 久久久久9999亚洲精品| 欧美一区三区四区| 欧美一区二区性放荡片| 91精品婷婷国产综合久久竹菊| 欧美午夜精品一区二区蜜桃| 欧美日韩久久不卡| 91精品国产丝袜白色高跟鞋| 日韩三级视频中文字幕| 26uuu另类欧美| 国产精品高潮呻吟| 亚洲精品免费电影| 亚洲第一狼人社区| 美女视频黄频大全不卡视频在线播放| 玖玖九九国产精品| 国产精品亚洲综合一区在线观看| 国产91丝袜在线播放九色| 成人免费看的视频| 欧美三级电影精品| 欧美xxxxxxxxx| 亚洲丝袜另类动漫二区| 亚洲成在线观看| 激情综合色播激情啊| 成人午夜免费电影| 日本福利一区二区| 日韩欧美国产高清| 国产精品视频一二三区| 亚洲亚洲精品在线观看| 免费观看91视频大全| 粉嫩av一区二区三区在线播放| 日本韩国欧美一区二区三区| 欧美大片一区二区三区| 国产精品久久久久久妇女6080| 亚洲国产人成综合网站| 国产激情一区二区三区| 日本久久一区二区| 久久综合久久综合九色| 一区二区高清视频在线观看| 久久草av在线| 欧美少妇bbb| 国产亚洲成aⅴ人片在线观看| 亚洲自拍偷拍综合| 国产精品亚洲一区二区三区在线| 色丁香久综合在线久综合在线观看| 日韩欧美aaaaaa| 一区二区三区免费网站| 国产成人精品综合在线观看| 欧美精品免费视频| 亚洲欧洲成人自拍| 国产精品99久久久久久似苏梦涵| 欧美亚洲综合在线| 亚洲国产精品高清| 久久国产精品72免费观看| 欧美在线影院一区二区| 国产精品久久久久影院| 精品无人码麻豆乱码1区2区| 欧美区在线观看| 一区二区三区日本| aaa亚洲精品| 久久久夜色精品亚洲| 日韩电影免费一区| 欧美亚洲国产一区在线观看网站| 国产视频一区在线观看| 日本aⅴ亚洲精品中文乱码| 91久久一区二区| 国产精品私人自拍| 国产精品一区二区三区网站| 欧美xxxx在线观看| 美女一区二区三区在线观看| 欧美怡红院视频| 亚洲一区av在线| 91福利国产成人精品照片| 18欧美亚洲精品| 波多野洁衣一区| 国产精品国产三级国产| 国产成人综合视频| 国产日产欧美一区| 成人性生交大片免费看在线播放| 久久亚洲综合色一区二区三区| 久久99精品国产麻豆不卡| 日韩一级二级三级| 香蕉成人啪国产精品视频综合网| 欧美系列在线观看| 石原莉奈在线亚洲三区| 91精品欧美综合在线观看最新| 亚洲国产欧美在线|