原文链接:https://blog.csdn.net/qq_28358461/article/details/89312224
主要解决很多教程里面没有的点!!
如果按照其他教程添加路由,还是连不上docker中的IP地址,建议把虚拟中的的Ubuntu的防火墙打开试试,神奇般的可以了!!!!!!!!
在命令行中输入以下命令打开防火墙: sudo ufw enable
以下是添加路由的教程。
简单拓扑图
宿主机(windows)--------->虚拟机(192.168.10.161)---------->docker容器 (172.18.0.2)
如果此时在宿主机中ping Docker容器是ping不同的,因为在宿主机上没有通往172.18.0.2网络的路由,宿主机会将发往172.18.0.2网络的数据发往默认路由,这样就无法到达容器。
解决方法:
首先要保证在虚拟机中能够连接到Docker容器中,用ping测试是否通畅
关闭虚拟中的防火墙: systemctl stop firewalld.service
打开宿主机(windows)的cmd,在其中添加通往 172.18.0.2 网络的路由。
通往 172.18.0.2 网络的数据包由192.168.10.161来转发
在cmd下(管理员模式) route add -p 172.18.0.2 mask 255.255.0.0 192.168.10.161 (-p表示永久添加)
此时在宿主机上就能ping通docker的IP了