1.查看虚拟机网络配置

 

 windows为虚拟机里的docker容器添加路由_windows

 

 可以看出用的是nat模式,子网网段为192.168.66.0-255,网关为192.168.66.2

2.查看虚拟机网关的接口

windows为虚拟机里的docker容器添加路由_windows_02

 

 3.创建一个docker网桥(可以不创建,只是为了方便使用)

docker network create --driver bridge --subnet=172.18.12.0/16 --gateway=172.18.1.1 mynet

4.查看网络配置

windows为虚拟机里的docker容器添加路由_windows_03

 

 其中docker0为默认docker网桥,br-378f232294ea为新创建的网桥

5 配置路由

方法一:

(1)配置windows机器到docker两个网桥(docker0和br-378f232294ea)的路由,下面的网关即为步骤2里的192.168.66.2网关对应的接口地址

#windows到docker0网桥(ip 172.17.0.1)的路由
route add 172.17.0.1 mask 255.255.255.255 192.168.66.1
#windows到br-378f232294ea网桥(ip 172.18.1.1)的路由
route add 172.18.1.1 mask 255.255.255.255 192.168.66.1
# 以上路由说明route add 网段/ip  mask 子网掩码 网关

(2)配置docker容器的路由

#route add 网段/ip mask 子网掩码 网关为网桥ip
#配置windows到docker0网桥对应容器的路由
route add 172.17.0.0 mask 255.255.0.0 172.17.0.1
#配置windows到br-378f232294ea网桥对应容器的路由 
route add 172.18.0.0 mask 255.255.0.0 172.18.1.1

方法二:

#route add 网段/ip mask 子网掩码 虚机ip
#添加到docker0网桥和docker0网桥下面所有容器的路由
route add 172.17.0.0 mask 255.255.0.0 192.168.66.36
#添加到br-378f232294ea网桥和br-378f232294ea网桥下面所有容器的路由
route add 172.18.0.0 mask 255.255.0.0 192.168.66.36

  

6.检查虚拟机是否开启路由转发功能

cat /proc/sys/net/ipv4/ip_forward

 如果是1,表示已经开启,如果是0,表示没有开启,需要开启

vim /etc/sysctl.conf

 将net.ipv4.ip_forward的值设置成1

net.ipv4.ip_forward=1