在Windows宿主机中连接虚拟机中的Docker容器

在Windows宿主机中连接虚拟机中的Docker容器

  1. 简单拓扑图

      宿主机(windows)--------->虚拟机(192.168.10.161)---------->docker容器 (172.18.0.2)
    

如果此时在宿主机中ping Docker容器是ping不同的,因为在宿主机上没有通往172.18.0.2网络的路由,宿主机会将发往172.18.0.2网络的数据发往默认路由,这样就无法到达容器。

  1. 解决方法:

1. 首先要保证在虚拟机中能够连接到Docker容器中,用ping测试是否通畅

2. 关闭虚拟中的防火墙: systemctl stop firewalld.service

3. 打开宿主机(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表示永久添加)
  查看添加的路由:
route print
  此时在宿主机上就能ping通docker的IP了
  ping 172.18.0.2 连接成功!

如果还是连不上docker中的IP地址,建议把虚拟中的的centos的防火墙打开试试,神奇般的可以了

你可能感兴趣的:(在Windows宿主机中连接虚拟机中的Docker容器)