需求
有两台实体机,一台是windows10,另一台是centos7.7。centos7.7这台作为docker 容器的宿主机,该机器下的容器需要和windows10 实现网络互通。
实现
找了很多的方法,大多数都是说在win10和centos上加上路由就可以实现,尝试下来加路由只能实现win10与宿主机的docker 虚拟网卡互通,无法实现win10与docker内的容器互通。
最终通过网络桥接重定向的方法实现。
基本思路如下:
1、删除宿主机物理网卡IP,MASK,GATEWAY等配置
2、创建桥接网络,brctl show查看
3、给创建的桥接网络配置成之前删除ip配置的宿主物理网卡相同的ip mask,gateway等配置
4、将之前删除ip配置的宿主物理网卡加入到创建的桥接网络中
实际操作命令如下:
1、ifconfig查看当前宿主机的物理网卡情况,比如我这里的是eno2,当前配置的ip是192.168.14.3/24
2、启动docker 服务
systemctl start docker
启动之后docker会默认创建一个docker0的网桥,这里我们不用这个网桥,因为使用这个默认的网桥不能给docker设置指定ip
2、创建桥接网络
docker network create --subnet=192.168.14.0/24 --gateway=192.168.14.1 docker-br0
默认以bridge方式创建,创建好后,