1. 程式人生 > >docker網路連結——網橋

docker網路連結——網橋

docker0簡介

安裝好docker,並啟動docker服務後,通過ifconfig檢視本機的網路裝置。
這裡寫圖片描述

可以看到有一個名為docker0的網路裝置,docker0是linux的虛擬網橋。docker的守護程序就是通過docker0為docker容器提供網路連結的。

linux虛擬網橋的特點:
(1)網橋屬於資料鏈路層裝置,但是linux虛擬網橋可以設定IP地址。
(2)相當於擁有一個隱藏的虛擬往卡
docker地址劃分:
IP:172.17.0.1
子網掩碼:255.255.0.0
總共提供65534個地址。
docker再容器啟動時要建立網路連結的兩端。一端是容器中的網路裝置,另一端是再執行docker的主機上開啟一個名為veth的網路介面,用來實現docker網橋和容器的網路通訊。
這裡寫圖片描述


安裝網橋管理工具:
(1)安裝

sudo yum install bridge-utils

(2)檢視網橋裝置

sudo brctl show

這裡寫圖片描述

自定義docker0

(1)修改docker0地址:

sudo ifconfig docker0 192.168.200.1 netmask 255.255.255.0

(2)檢視修改結果
這裡寫圖片描述
(3)重啟docker服務,重新啟動容器,將會看到容器的ip會使用我們設定的網段。

自定義虛擬網橋

(1)新增虛擬網橋相關命令如下

//建立一個新的網橋
sudo brctl addbr br0
//為網橋設定ip和子網掩碼
sudo ip addr add
192.168.5.1/24 dev bridge0 //啟動新建立的網橋 sudo ip link set dev br0 up //刪除網橋 sudo brctl delbr docker0

這裡寫圖片描述
這裡寫圖片描述
(2)配置docker啟動項

//進入docker啟動配置檔案
sudo vi /etc/sysconfig/docker
//配置內容如下
DOCKER_OPS="-b=br0"

重啟docker服務後發現配置的網橋並沒有生效,於是開啟docker服務啟動檔案

sudo vi /usr/lib/systemd/system/docker.service 

這裡寫圖片描述
發現引數配置為OPTIONS於是修改/etc/sysconfig/docker

內容如下,此時重啟docker服務,網橋生效。

OPTIONS="-b=br0"