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

本文讲的是Docker使用自定义网桥docker,并且自定义容器的ip地址。 Docker 服务默认会创建一个 docker0 网桥,它在内核层连通了其他的物理或虚拟网卡,这就将所有容器和本地主机都放到同一个物理网络。 用户也可以指定网桥来连接各个容器。

  这种方法docker官网是不推荐的,记录一下这个方法。但是这个方法可以使宿主机和容器在同一个网段通信。

1.Linux桥接设置

设置桥接的思路:

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

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

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

一.准备工作

1.下载brctl git
[root@tiger ~]# yum install -y bridge-utils git.

2.下载pipework
[root@tiger ~]# git clone https://github.com/jpetazzo/pipework

3.拷贝命令到bin下
[root@tiger ~]# cp ~/pipework/pipework /usr/local/bin/

二. 建立虚拟交换机,并把物理接口加入

1.创建网桥
[root@tiger ~]# brctl addbr br0

2.把ens33加入到br0这个网卡中
[root@tiger ~]# brctl addif br0 ens33

3.有关stp协议的
[root@tiger ~]# brctl stp br0 on

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

[root@tiger network-scripts]# pwd
/etc/sysconfig/network-scripts
[root@tiger network-scripts]# cp ifcfg-ens33 ifcfg-br0
TYPE=Bridge
BOOTPROTO=no
NAME=br0
DEVICE=br0
ONBOOT=yes
IPADDR=192.168.3.3
PREFIX=24
GATEWAY=192.168.3.1
DNS1=223.5.5.5
DNS2=8.8.8.8

ens33的网卡
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=no
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
NAME=em1
UUID=06c95b32-c733-2611-a7aa-4d0ec8bd07f6
DEVICE=em1
ONBOOT=yes
#IPADDR=192.168.3.3
#PREFIX=24
#GATEWAY=192.168.3.1
#DNS1=223.5.5.5
#DNS2=8.8.8.8
BRIDGE=br0

重启下网卡
[root@tiger network-scripts]# systemctl restart network

四.为容器配置ip

1.开启一个新容器
[root@tiger ~]# docker run -d --privileged --net none --name tiger 5182e46232bf /sbin/init

2.pipework配置网络
[root@tiger ~]# pipework br0 -i ens33 15b022498573 192.168.3.11/24@192.168.3.1

3.进入容器使用,安装ssh便可以本地使用xshell连接容器
[root@tiger ~]# docker exec -it tiger bash 
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值