虚拟机中docker承载的微服务注册到nacos无法访问问题
Posted 左直拳
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了虚拟机中docker承载的微服务注册到nacos无法访问问题相关的知识,希望对你有一定的参考价值。
今天将一个项目中的部分子系统部署,部署到虚拟机的docker里运行,结果外部无法访问。查看nacos,显示服务已经成功注册。
后来发现,该服务的IP地址外部无法访问:
估计172.17.0.0是docker自身的网段,在上面跑的程序,注册到nacos,直接就用到了docker里的地址。因为对于应用程序来说,docker是容器,就是一个操作系统。解决办法是,在虚拟机的宿主机上添加对该地址的路由。我的虚拟机装在windows下,即在windows里添加路由。
操作步骤:
一、查看虚拟机的ip情况
运行命令:ip addr,得到
二、宿主机上添加路由
C:\\Users\\cq>route add -p 172.17.0.0/16 192.168.144.128
操作完成!
注意地址来自于虚拟机的ip信息。172.17.0.0/16,说明该IP的子网掩码为16位,172.17.0.0是子网地址,172.17.0.255是该子网的广播地址。192.168.144.128是虚拟机对外地址。见步骤一。
如果要删掉该路由,就是
route delete 172.17.0.0
如此,搞定矣。
参考文章:
Windows访问Linux虚拟机里面的Docker容器
以上是关于虚拟机中docker承载的微服务注册到nacos无法访问问题的主要内容,如果未能解决你的问题,请参考以下文章