1. 程式人生 > >Centos7 下建立 Docker 橋接網路

Centos7 下建立 Docker 橋接網路

centos7宿主機上建立Docker橋接物理網路過程

宿主機網絡卡資訊:
name:ens0
IP:192.168.184.99
GATEWAY:192.168.184.2
DNS:192.168.184.2

1. 停止docker服務

~#:service docker stop

2.刪除docker0網絡卡

~#:ip link set dev docker0 down
~#:brctl delbr docker0

3.新建橋接物理網路虛擬網絡卡br0

~#:brctl addbr br0
~#:ip link set dev br0 up
~#:ip addr add 192.168.184.100/24 dev br0 #為br0分配物理網路中的ip地址
~#:ip addr del 192.168.184.99/24 dev ens0 #將宿主機網絡卡的IP清空
~#:brctl addif br0 ens0 #將宿主機網絡卡掛到br0上
~#:ip route del default #刪除原路由
~#:ip route add default via 192.168.184.2 dev br0 #為br0設定路由

4.設定docker服務啟動引數
這裡要注意的是,不同的linux作業系統docker的配置檔案所在不同
centos 在/etc/sysconfig/docker
其他作業系統請前往下面的網址
https://docs.docker.com/installation/#installation

~#:vim /etc/sysconfig/docker #在OPTIONS='--selinux-enabled'這行中修改為OPTIONS='--selinux-enabled -b=br0'即讓docker服務啟動時使用br0網絡卡進行橋接

5.啟動docker服務

~#:service docker start

6.安裝pipework

~#:git clone https://github.com/jpetazzo/pipework
~#:cp ~/pipework/pipework /usr/local/bin/

7.啟動一個手動設定網路的容器
這裡最好不要讓docker自動獲取ip,下次啟動會有變化而且自動獲取的ip可能會和物理網段中的ip衝突

~#:docker run -itd --net=none --name=test centos7 /bin/bash

9.為test容器設定一個與橋接物理網路同地址段的[email protected]閘道器

~#:pipework br0 test 192.168.184.11/[email protected]

10.進入容器檢視ip

~#:docker attach test