一:简单拓扑图
二:设置步骤
1. 查看docker容器内的ID
2. 配置虚拟主机的IP
此时和虚拟机的通信可以使用nat或者桥接都可以,本文中使用了nat
3. 添加宿主机到Docker的路由
由于本次使用的是容器的内部IP地址(172.18.0.2)进行访问,故需要设置路由(不能直接访问到,需要设置路由转发),其实最简单的方法可以直接使用虚拟机的IP(10.241.250.0)进行访问
以管理员身份运行CMD,添加如下路由
ROUTE add 172.18.0.0 mask 255.255.0.0 10.241.250.0
检查是否能ping通
4.浏览器页面输入 http://docker_ip:port
这样在运行多个docker容器就可以通过地址和端口使用了
三:总结反思
nat模式下,宿主机可以直接访问到虚拟机;桥接模式下,处于同一个局域网也可以直接进行访问(防火墙关闭的前提,宿主机可以正常访问虚拟机端口服务)
如果不在同一个局域网的主机进行通信的话,依靠路由进行数据转发。并且,没有去手动设置路由就会发往默认路由,导致两台主机无法正常进行通信。