windows10连接ubuntu虚拟机上的docker


连接ubuntu虚拟机上的Docker

第一步 首先设置虚拟机和本地机网络连接方式为桥接连接

本来想着只要本地机能够ping通虚拟机,就可以不用在乎网络连接方式
当时试过很多次,只有NAT模式才能设置路由转发
具体原理不太清楚,希望有会的大佬指导

第二步 本地机ping虚拟机

查看虚拟机ip
ifconfig

然后用本地机进行Ping
ping ip

如图所示则ping成功

第三步 虚拟机ping docker 容器

在虚拟机中查看dockers容器的Id

docker ps

container id 即为运行中的Dockers 容器id

然后查看容器的地址
docker inspect (container id)

上图为虚拟机分配给docker容器的地址
正常来讲使用虚拟机去ping该地址可以ping通

但是使用本地机ping不通

第四步 在本地机设置路由转发

因为在本地机ping不通虚拟机上的docker容器
如图所示

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

因此设置路由转发
一定要设置成NAT,原因俺也不知,反正其他方式俺不成功

在本地机使用管理员模式打开cmd
添加路由转发
route add -p dockers地址 mask 255.255.0.0 虚拟机地址
查看路由
route print
删除路由
route delete 地址
在本地机尝试ping docker容器

成功!!
如果设置不成功,可能是虚拟机防火墙的问题,请自行查看