Docker網絡+資源控制

在創建安裝完docker後,使用,查看網卡信息,會出現一個docker的默認虛擬容器網關docker 0,docker網絡模式默認爲Bridge,docker0是虛擬容器網關,通過橋接的方式,與宿主機的網卡進行通信。在創建容器後,虛擬容器網關docker 0會分配一個IP地址給容器,該網關下的容器,通過分配的IP地址進行通信,與外界網絡通信時,通過映射容器的端口到宿主機,外界訪問容器時,通過宿主機的IP地址+端口號進行訪問
不同的docker網絡之間屬於不同的namespace,與宿主機網卡橋接在這裏插入圖片描述

安裝docker它會自動創建三個網絡,,bridge(創建容器默認連接到此網絡)在這裏插入圖片描述在這裏插入圖片描述

docker網絡

查看docker的網絡信息

在這裏插入圖片描述

創建橋接網絡
–name 容器名稱
–network 指定網絡模式
–ip 指定IP地址
docker run -itd --name test1 --network bridge --ip 127.17.0.100 centos:7 /bin/bash

在這裏插入圖片描述
報錯,會發現沒有指定ip無法啓動
在這裏插入圖片描述
不指定ip就可以成功啓動
在這裏插入圖片描述
進去容器,查看ip地址
在這裏插入圖片描述
在這裏插入圖片描述

自定義網絡固定ip
docker network create --subnet=172.18.0.0/16 abc

在這裏插入圖片描述

docker run -itd --name test2 --network abc --ip 172.18.0.10 centos:7 /bin/bash

在這裏插入圖片描述

進入docker
docker exec -it cce007205b84 /bin/bash
yum install net-tools -y

在這裏插入圖片描述

CPU、內存、IO資源控制

cpu使用率控制
cat /sys/fs/cgroup/cpu/docker/500c995db18c8987ea063e441dec9cde38cfbe484b07fe9db1a57aa3cef1aec9/cpu.cfs_quota_us 

在這裏插入圖片描述

設置20%的限定
docker run -itd --name test3 --cpu-quota 20000 centos:7 /bin/bash

在這裏插入圖片描述

按比例分配
創建兩個容器爲c1和c2,若只有這兩個容器,設置這兩個容器的權重,使得c1和c2的cpu資源佔比爲33%和66.7%
docker run -itd --name c1 --cpu-shares 512 centos:7 /bin/bash
docker run -itd --name c2 --cpu-shares 1024 centos:7 /bin/bash

在這裏插入圖片描述
安裝壓測工具
yum install epel-release -y
yum install stress -y
同時開啓c1和c2
stress -c 4 //產生四個CPU線程
驗證結果
在這裏插入圖片描述

限制容器使用指定的CPU
docker run -itd --name test1 --cpuset-cpus 1,3 centos:7 /bin/bash

在這裏插入圖片描述
安裝
壓測工具
驗證方法:壓測容器,使用top命令,按1檢查
在這裏插入圖片描述

內存使用限制
docker run -itd --name test2 -m 512m centos:7 /bin/bash

在這裏插入圖片描述
用docker stats 查看
在這裏插入圖片描述
–device-read-bps:限制讀某個設備的bps(數據量)
例:docker run -d --device-read-bps /dev/sda:30 centos:7
–device-write-bps:限制寫入某個設備的bps(數據量)
例:docker run -d --device-write-bps /dev/sda:30 centos:7
–device-read-iops:限制讀某個設備的iops(次數)
–device-write-iops:限制寫入某個設備的iops(次數)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章