日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Docker网络模式与资源控制管理

發(fā)布時(shí)間:2023/12/14 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Docker网络模式与资源控制管理 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

網(wǎng)絡(luò)模式與資源控制管理

  • docker的四種網(wǎng)絡(luò)
  • docker自定義網(wǎng)絡(luò)
  • Docker資源控制(cpu、內(nèi)存、IO資源控制)

docker的四種網(wǎng)絡(luò)

1、host
在容器內(nèi)部創(chuàng)建的兩個(gè)容器A,B,通過(guò)docker 0(相當(dāng)于小型的局域網(wǎng),為內(nèi)部容器的網(wǎng)關(guān))進(jìn)行內(nèi)部通信;與外部通信地址映射N(xiāo)at模式物理網(wǎng)卡ens33
如果兩個(gè)內(nèi)部容器的服務(wù)不同,但端口一樣,進(jìn)行外部通信時(shí),進(jìn)行端口映射成不同的端口進(jìn)行通信
2、container
創(chuàng)建的容器不會(huì)創(chuàng)建自己的網(wǎng)卡、設(shè)置IP等,而是和一個(gè)指定地容器共享IP、端口范圍
這個(gè)模式指定新創(chuàng)建的容器和已經(jīng)存在的一個(gè)容器共享一network namespace,而不是和宿主機(jī)共享,新創(chuàng)建的容器不會(huì)創(chuàng)建自己的網(wǎng)卡,配置自己的IP,而是和一個(gè)指定地容器共享IP、端口范圍等。同樣,兩個(gè)容器除了網(wǎng)絡(luò)方面,其他的如文件系統(tǒng)、進(jìn)程列表還是隔離的。兩個(gè)容器的進(jìn)程可以通過(guò)loo網(wǎng)卡設(shè)備通信
3、None
該模式關(guān)閉了容器的網(wǎng)絡(luò)功能
這種網(wǎng)絡(luò)模式下容器只有l(wèi)o回環(huán)網(wǎng)口,沒(méi)有其他的網(wǎng)卡。none 模式可以在容器創(chuàng)建時(shí)通過(guò)-network=none參數(shù)指定
這種類型的網(wǎng)絡(luò)無(wú)法聯(lián)網(wǎng),但是封閉的網(wǎng)絡(luò)能很好的保證容器的安全性,提高了安全性。
4、Bridge
此模式會(huì)為每一個(gè)容器分配、設(shè)置IP等,并將容器連接到一個(gè)docker虛擬網(wǎng)橋,通過(guò)docker0網(wǎng)橋及iptables的nat表配置與宿主機(jī)通信
當(dāng)Docker進(jìn)程啟動(dòng)時(shí),會(huì)在主機(jī)上創(chuàng)建一個(gè)名為docker0的虛擬網(wǎng)橋,此主機(jī)上啟動(dòng)的Docker容器會(huì)連接到這個(gè)虛擬網(wǎng)橋上。虛擬網(wǎng)橋的工作方式和物理交換機(jī)類似,這樣主機(jī)上的所有容器就通過(guò)交換機(jī)連在了一個(gè)二層網(wǎng)絡(luò)中
從docker0子網(wǎng)中分配一個(gè)IP給容器使用,并設(shè)置docker0的IP地址為容器的默認(rèn)網(wǎng)關(guān)。在主機(jī)上創(chuàng)建一對(duì)虛擬網(wǎng)卡veth pair設(shè)備,Docker將veth pair設(shè)備的一端掛載在新創(chuàng)建的容器中,并命名為ethO (容器的網(wǎng)卡),另一端放在主機(jī)中,以vethxxx這樣類似的名字命名,并將這個(gè)網(wǎng)絡(luò)設(shè)備加入到docker0網(wǎng)橋中。可以通過(guò)brctl show命令查看。

host模式 -net= host 容器和宿主機(jī)共享Network namespace(網(wǎng)絡(luò)名稱空間) containeb模式 -net=container.NAME_or_ID 容器和另外一個(gè)容器共享Network namespace(共享ip地址和端口范圍) none模式 -net= none 容器有獨(dú)立的Network namespace,但并沒(méi)有對(duì)其進(jìn)行任何網(wǎng)絡(luò)設(shè)置,無(wú)法與外部進(jìn)行交互。如分配veth pair和網(wǎng)橋連接,配置IP等。 bridge模式 -net= bridge (默認(rèn)為該模式) docker 0為虛擬網(wǎng)橋,所有的容器會(huì)連接到虛擬網(wǎng)橋上(因?yàn)樘摂M網(wǎng)橋?yàn)樗鼈兊奶摂M網(wǎng)關(guān)),虛擬網(wǎng)橋會(huì)結(jié)合iptable的規(guī)則去進(jìn)行地址映射,把容器地址段映射為宿主機(jī)的地址段,用于和宿主機(jī)通訊,最后讓宿主機(jī)連接外網(wǎng)。

docker自定義網(wǎng)絡(luò)

查看網(wǎng)絡(luò)列表

根據(jù)鏡像創(chuàng)建容器并指定ip地址

會(huì)報(bào)錯(cuò):來(lái)自守護(hù)程序的錯(cuò)誤響應(yīng),僅在用戶定義的網(wǎng)絡(luò)上支持用戶指定的IP地址

docker run -itd --name test1 --network bridge --ip 172.17.0.10 centos:7 /bin/bash


根據(jù)鏡像創(chuàng)建容器不指定ip地址

會(huì)報(bào)錯(cuò):原因已經(jīng)之前指定IP地址了


查看已運(yùn)行容器狀態(tài)

docker exec -it 3a /bin/bashyum -y install net-toolsifconfig

自定義網(wǎng)絡(luò)固定IP

docker network create --subnet=172.18.0.0/16 mysub

定義分配地址

docker run -itd --name test3 --net mysub --ip 172.18.0.100 centos:7 /bin/bash


查看容器網(wǎng)絡(luò)地址

docker exec -it d69 /bin/bash yum -y install net-tools ifconfig

測(cè)試網(wǎng)關(guān)


測(cè)試另一個(gè)網(wǎng)橋網(wǎng)關(guān)

Docker資源控制(cpu、內(nèi)存、IO資源控制)

07年谷歌,可以控制資源分配通過(guò)操作系統(tǒng)內(nèi)核,控制應(yīng)用程序使用內(nèi)存資源、 cpu資源、 文件系統(tǒng)資源等等 cgroup是一種資源控制手段 每個(gè)容器相當(dāng)于一個(gè)進(jìn)程

CPU使用率控制

cpu周期: 1s為一個(gè)周期的定律,參數(shù)值一般為100000 (CPU衡量單位是秒) 假如需要給此容器分配cpu使用率的20%,則參數(shù)需要設(shè)置為20000,相當(dāng)于每個(gè)周期分配給這個(gè)容器0.2s cpu在一個(gè)時(shí)刻,只能給一個(gè)進(jìn)程占用cat /sys/fs/cgroup/qpu/docker/容器ID/qpu.cfs_ quota us


動(dòng)態(tài)查看cpu使用率

top


docker stats

CPU 20%的限定

方式一 在創(chuàng)建容器運(yùn)行進(jìn)行資源限制
創(chuàng)建容器


計(jì)算圓周率

docker exec -it 2e /bin/bash yum -y install bc echo "scale=5000;4*a(1)" | bc -l -q

然后再開(kāi)個(gè)窗口top查看


方式二 對(duì)已經(jīng)存在且在運(yùn)行時(shí)狀態(tài)的容器進(jìn)行設(shè)置

總結(jié)

以上是生活随笔為你收集整理的Docker网络模式与资源控制管理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。