gyf8

连接ubuntu虚拟机上的Docker

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

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

image

第二步 本地机ping虚拟机

查看虚拟机ip
ifconfig
image

然后用本地机进行Ping
ping ip
image
如图所示则ping成功

第三部 虚拟机ping docker 容器

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

docker ps
image
container id 即为运行中的Dockers 容器id

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

image

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

但是使用本地机ping不通

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

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

如果此时在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容器
image

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

相关文章:

猜你喜欢