校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > docker容器的原理分析

docker容器的原理分析

熱門標簽:上海申請高400開頭的電話 宿城區電話機器人找哪家 400電話辦理介紹信 怎么找到沒有地圖標注的店 打400電話怎么辦理收費 麗江真人語音電話外呼系統 福州企業電銷機器人排名 河南防封號電銷機器人是什么 10086外包用的什么外呼系統

01 容器的本質是什么?

      今天的重點問題是講述清楚什么是容器。

     要理解容器的概念,首先我們需要知道什么是進程?當我們在Linux操作系統執行一個程序,這個程序可能是一個二進制文件,它被調用的時候,變成了計算機內存中的數據、寄存器中的值、堆棧中的指令、以及各種設備狀態信息的一個集合。像這樣的一個計算機執行環境的綜合,我們稱之為進程。

   容器,就是為這個進程提供一個"邊界",理解成白話,就是把這個進程"包"起來,它本質上是通過約束和修改進程的一些動態表現實現的這個"包"的動作。

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

    現在我們來看一個MySQL容器的進程特點。

1、先查看下我們機器上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命令(關于這條命令的介紹,下面會有講述)進入一個容器里面,ps -ef命令查看進程:

[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

可以發現,mysqld這個進程的進程號是1.

這里我要多嘴一下:

1、docker exec -it 4784586d01e0 bash

這條指令是告訴容器,我要進入這個容器里面,并運行一個bash的指令。

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

apt-get update & apt-get install procps

然后我們退出到容器外面,再次查看mysqld進程的進程號:

[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

發現進程號是18853。

可以得到一個結論,mysqld進程在容器里面和容器外面執行的結果不一樣。

為什么會這樣?

其本質是docker容器中的進程被隔離在了一個新的環境中,使得這些進程只能看到重新計算過的PID號。前面我們說過,docker本質上是通過約束和修改進程的一些動態,將一個物理機上的進程"包"起來,我們看到的這個現象,就是"包"的結果。

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

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

02 Cgroup技術和Namespace技術介紹

    Namespace技術主要是為容器提供資源隔離用的。Namespace這個功能實現的方法比較簡單,通常情況下,我們創建Linux進程的時候,系統會執行一個clone的命令,類似:

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

它返回的就是我們創建的進程的PID號。

而Namespace技術就是在Linux創建進程的時候,多了一個參數,這個新參數暫且稱之為newid,這樣,在容器內,我們看到的進程的PID號,就是這個newid了。這個Namespace我們稱之為PID Namespace。

    除了這個Namespace,還有其他的,例如mount Namespace,Network Namespace等,分別是為了隔離掛載點和隔離網絡的。

    當然,不是所有的資源都能夠被namespace化,例如時間和操作系統內核,就是一個服務器上的所有容器共享的。

    容器一旦開始運行,我們需要控制它使用的機器資源,例如磁盤、內存、CPU等,否則它可能會耗盡物理機的資源,導致一些系統進程發生崩潰。Cgroup技術就是專門為Linux進程限制資源使用的。它的全程是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

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

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

cpuset:為進程分配單獨的CPU核心和對應的內存節點

memory:為進程設定內存使用的限制。

    當我們通過命令啟動容器之后,操作系統會把這個docker進程對應的PID填寫到對應控制組的文件中,從而控制當前進程使用的CPU資源值。

03 容器、鏡像和倉庫之間的關系

Docker 包括三個基本概念:

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

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

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

docker容器是由鏡像實例化而來的,這和我們學習的面向對象的概念十分相似,我們可以把鏡像想象成類,把容器想象成類經過實例化后的對象,這樣就非常好理解鏡像和容器的關系了。

docker倉庫:類似與代碼倉庫,是Docker集中存放鏡像文件的場所

這個關系可以更加清楚的表述為:

以上就是詳解docker容器的概念的詳細內容,更多關于docker容器的概念的資料請關注腳本之家其它相關文章!

標簽:連云港 荊門 遵義 運城 雞西 面試通知 隴南 朝陽

巨人網絡通訊聲明:本文標題《docker容器的原理分析》,本文關鍵詞  docker,容器,的,原理,分析,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《docker容器的原理分析》相關的同類信息!
  • 本頁收集關于docker容器的原理分析的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    国产精品欧美久久久久无广告| 蜜桃视频免费观看一区| 26uuu久久综合| 91精品国产aⅴ一区二区| 91久久精品一区二区二区| 97se亚洲国产综合自在线不卡 | 性做久久久久久| 欧美日韩视频在线一区二区 | 亚洲午夜日本在线观看| 中文字幕日本不卡| 亚洲视频电影在线| 亚洲自拍偷拍av| 91精品国产手机| 精品成人免费观看| 视频在线观看91| 欧美亚洲综合网| 亚洲免费在线观看视频| 国产成人a级片| www一区二区| 久久99精品久久久久久国产越南 | 国产福利一区在线| 欧美美女一区二区在线观看| 国产精品人人做人人爽人人添| 国产日韩欧美不卡| 亚洲人成小说网站色在线| 蜜臀av性久久久久蜜臀aⅴ流畅| av激情亚洲男人天堂| 色八戒一区二区三区| 精品久久久久久久久久久久包黑料 | 成人小视频在线| 日韩亚洲欧美成人一区| 亚洲视频在线一区二区| 国模无码大尺度一区二区三区| 欧洲另类一二三四区| 国产精品国模大尺度视频| 麻豆精品国产传媒mv男同| 欧美三级韩国三级日本一级| 国产精品视频在线看| 狠狠色狠狠色综合| 欧美成人精品福利| 日韩经典一区二区| 欧美日韩卡一卡二| 亚洲一区二区三区美女| 91蜜桃免费观看视频| 国产精品久久久久9999吃药| 国产精品资源在线观看| 久久日韩粉嫩一区二区三区| 美国av一区二区| 欧美一区二区国产| 麻豆高清免费国产一区| 日韩一区国产二区欧美三区| 精品中文字幕一区二区小辣椒| 欧美一二三四区在线| 日韩不卡在线观看日韩不卡视频| 欧美人牲a欧美精品| 午夜精品久久久久久久| 欧美放荡的少妇| 日韩精品91亚洲二区在线观看 | 日本一区二区综合亚洲| 国产成人免费在线观看| 国产欧美精品一区二区色综合朱莉| 国产精品77777| 国产婷婷色一区二区三区| 成人精品gif动图一区| 国产精品免费网站在线观看| 一本大道久久a久久精品综合| 亚洲五码中文字幕| 欧美一级片在线看| 国产麻豆视频一区| |精品福利一区二区三区| 91一区在线观看| 午夜精品福利在线| 日韩欧美123| 国产suv一区二区三区88区| 日韩毛片高清在线播放| 欧美日本国产视频| 国产精品一品二品| 亚洲视频你懂的| 欧美日本在线视频| 国产一区二区视频在线| 中文字幕日韩av资源站| 在线播放亚洲一区| 国产成人自拍在线| 亚洲高清免费观看| 2024国产精品视频| 日本韩国一区二区| 久久99国内精品| 日韩理论在线观看| 精品久久久久一区| 欧美无人高清视频在线观看| 午夜电影一区二区| 精品999久久久| 欧美日韩国产欧美日美国产精品| 免费观看成人av| 日本一区二区三区在线不卡| 欧美另类高清zo欧美| 乱中年女人伦av一区二区| 亚洲欧美中日韩| 日韩写真欧美这视频| 一本色道综合亚洲| 国产精品一区二区你懂的| 夜夜嗨av一区二区三区| 欧美国产日韩亚洲一区| 日韩精品自拍偷拍| 在线中文字幕一区二区| 国产成人福利片| 久久精品久久综合| 亚洲午夜久久久久久久久电影院| 久久久国产午夜精品| 欧美日韩精品高清| 一本大道av伊人久久综合| 国产成人免费在线观看不卡| 欧美96一区二区免费视频| 亚洲一区免费观看| 国产精品护士白丝一区av| 久久久久久久久久久黄色| 日韩亚洲电影在线| 91精品国产欧美一区二区18| 色噜噜久久综合| 成人免费毛片片v| 韩国在线一区二区| 午夜精品福利视频网站| 亚洲综合视频网| 国产精品不卡在线| 中文字幕成人网| 国产欧美一区二区精品秋霞影院| 久久综合精品国产一区二区三区| 日韩一级免费观看| 欧美一区二区免费| 777色狠狠一区二区三区| 欧美日本免费一区二区三区| 91成人网在线| 欧美性受xxxx黑人xyx性爽| 91搞黄在线观看| 欧美亚洲高清一区二区三区不卡| 日本二三区不卡| 精品视频1区2区3区| 欧美色精品天天在线观看视频| 色哟哟一区二区在线观看| 欧美在线一区二区| 欧美最猛性xxxxx直播| 欧美综合久久久| 7777精品伊人久久久大香线蕉经典版下载| 欧美精品欧美精品系列| 日韩三级视频在线观看| www成人在线观看| 中文字幕视频一区| 亚洲色欲色欲www| 一区二区三区在线看| 亚州成人在线电影| 亚洲主播在线播放| 日本不卡的三区四区五区| 久久国产精品色婷婷| 国产一区二区三区久久悠悠色av| 成人永久免费视频| 在线视频你懂得一区| 91精品国产综合久久久久久| 精品国产sm最大网站| 国产精品剧情在线亚洲| 亚洲国产精品自拍| 美女脱光内衣内裤视频久久网站 | 日韩一级成人av| 国产欧美日韩亚州综合| 亚洲最大色网站| 激情六月婷婷久久| av在线不卡电影| 在线播放日韩导航| 国产日韩欧美电影| 香蕉成人啪国产精品视频综合网 | 亚洲综合一区二区三区| 日本aⅴ亚洲精品中文乱码| 国产成人免费高清| 欧日韩精品视频| 久久精品人人做| 视频一区欧美精品| 成人app软件下载大全免费| 欧美日韩精品一区二区三区四区 | 欧美日韩国产a| 国产性色一区二区| 午夜国产精品一区| 成人午夜大片免费观看| 日韩一区二区在线观看视频 | 精品日韩在线观看| 亚洲精品日韩综合观看成人91| 国产一区二区三区四区五区入口 | 亚洲国产wwwccc36天堂| 国产91精品露脸国语对白| 欧美日韩情趣电影| 国产精品久久三| 国产一区二区不卡| 欧美一区二区视频观看视频| 成人欧美一区二区三区1314 | 性做久久久久久免费观看欧美| 懂色av一区二区在线播放| 91亚洲精华国产精华精华液| 4438x成人网最大色成网站| 亚洲激情图片qvod| 99视频在线精品| 国产精品乱子久久久久| 经典三级在线一区|