一、背景
docker启动时默认会创建一个docker0网桥,它在内核层连通了其他的物理或虚拟网卡,相当于将所有容器和其主机都放到同一个网络。但是部署在内网中的IP段存在有此网段的IP时,会导致冲突,
1:使用宿主机的ip也会有是无效的。
2:只要docker启动,便会造成局域网内其它主机访问本机失效,
3:关闭docker后,本机便可访问.

解决方案如下:

第一步 删除原有配置

sudo service docker stop 
sudo ip link set dev docker0 down      #关闭网卡 
sudo brctl delbr docker0            #删除docker0网卡 
sudo iptables -t nat -F POSTROUTING


> 如果未安装bridge-utils,brctl delbr docker0会报如下错误,
> -bash: brctl: command not found
> centos7 bridge-utils安装:
> yum install bridge-utils

第二步 创建新的网桥

sudo brctl addbr docker0 #新增网卡 
sudo ip addr add 192.168.200.1/24 dev docker0 
sudo ip link set dev docker0 up


第三步 配置Docker的文件
注意: 这里是 增加下面的配置(注:设置为与内网不相的ip即可)

vi /etc/docker/daemon.json 

{ "bip": "192.168.200.1/24" }

第四步 因为是系统网络设置,要生效需要重启主机

sudo reboot

附docker network 命令简介
  connect     联接一个容器到网络
  create      新建一个虚拟网络
  disconnect  断开网络到容器的联接
  inspect     查看网络详情
  ls          网络列表
  prune       删除所有无用网络
  rm          删除网桥

Linux brctl 命令简介

1.添加网桥(br0)
brctl addbr br0
注:设置br0可用
sudo ifconfig br0 192.168.100.1 netmask  255.255.255.0

2.查看网桥
1)显示所有的网桥信息
udo brctl show
2)显示某个网桥(br0)的信息
$ sudo brctl show br0

3.删除网桥(br0)
sudo brctl delbr br0

4. 将eth0端口加入网桥br0
brctl addif br0 eth0

5. 从网桥br0中删除eth0端口
brctl delif br0 eth0

Usage: brctl [commands]
commands:
        addbr           <bridge>                创建网桥
        delbr           <bridge>                删除网桥
        addif           <bridge> <device>       将网卡接口接入网桥
        delif           <bridge> <device>       删除网桥接入的网卡接口
        hairpin         <bridge> <port> {on|off}        开闭交换机端口的VEPA模式
        setageing       <bridge> <time>         设置mac的老化时间,超时没有数据,就删除mac
        setbridgeprio   <bridge> <prio>         设置网桥权限
        setfd           <bridge> <time>         设置网桥延迟
        setportprio     <bridge> <port> <prio>  设置网桥端口权限
        show            [ <bridge> ]            查询网桥信息
        showmacs        <bridge>                查询网桥mac信息
        showstp         <bridge>                查看网桥 STP 信息
        stp             <bridge> {on|off}       启用禁用 STP

 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐