docker结合pipework配置网卡使宿主机和容器ip处于同一网段

浏览:125
jackios 2020-08-11 14:28

1.Linux桥接设置

设置桥接的思路:

1. 先建立一个br0的虚拟交换机

2. 把物理端口加入到br0设备中

3. 修改br0 和 物理接口的配置文件--保证持久化


 一)下载需要的工具:

1.下载brctl git
yum install bridge-utils git -y
2.下载pipework
git clone https://github.com/jpetazzo/pipework
3. 拷贝命令到bin
cp  /pipework.pipework  /usr/local/bin

二)

建立交换机 并把物理接口加入

1.创建网桥
brctl addbr  br0
2.把ens33加入br0这个网卡中
brctl addif br0 ens33
3.有关stp协议的
brctl stp br0 on

三)修改物理网卡和br0的网卡保证持久化

TYPE="Bridge"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="no"
NAME="br0"
DEVICE="br0"
ONBOOT="yes"
IPADDR="192.168.188.129"
NETMASK="255.255.255.0"
GATEWAY="192.168.188.1"
DNS1="223.5.5.5
USERCTL="no" 


ens33的网卡


TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="dhcp"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes" 
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no" 
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
DEVICE="ens33"
ONBOOT="yes"
IPADDR="192.168.188.129"
NETMASK="255.255.255.0"
GATEWAY="192.168.188.2"
DNS1="223.5.5.5"
BRIDGE="br0"

 重启下网卡  systemctl restart network

四 ) 为容器配置ip地址

启动br0网卡 pingbaidu是否能通

ifup  ifcfg-br0  
systemctl  restart network
ping -c2 baidu.com

查看网桥 

brctl  show

干掉docker0

ifconfig docker0 down(通过ifconfig查看结果)
brctl delbr docker0 
通过brctl  show 查看结果

以后容器使用 br0这个网桥,就不再使用docker0了,因为新建了桥接网卡就不要docker0了 ,只要保证有一个桥接网卡就行。

这个时候每一个容器的ip和物理机的ip都在一个网段了,容器可以直接上网,别的容器也可以连接容器了,跨网段也可以访问了。

五)开始测试下

1.启动一个centos容器 docker run -itd --name=jackios002 --net=none --privileged 67f3a8c1c587  /bin/bash
2.为这个容器配置ip 网关和子网掩码 (这里使用的是pipework 网上的工具 br0  配置的网卡,9ea514cd007c是容器的id  192.168.188.145 与网关不一样的ip  )
 24 代表24位长度的掩码 @ 后面跟的是br0是网关 这样能走的通 
 pipework br0 9ea514cd007c 192.168.188.145/24@192.168.188.2
3.进入容器 docker exec -it  9ea514cd007c /bin/bash
查看ip ifconfig 有enth1 这样类似的就行



如果觉得我的文章对你有用,请随意赞赏

待完善
不要去追一匹马,用追马的时间种草,待到春暖花开时,就会有一批骏马任你挑选;不要去刻意巴结一个人,用暂时没有朋友的时间,去提升自己的能力,待到时机成熟时,就会有一批的朋友与你行。用人情做出来的朋友只是暂时的,用人格吸引来的朋友才是长久的。所以种下梧桐树,引得凤凰来。你若盛开,蝴蝶自来,你若精彩,天自安排
微信扫码登录测试

Powered by Jackios V1.0 Copyright © 2019-2020 liuql 版权所有 备案号: 鲁ICP19026293号