如果服务器是多网卡的,比如安装了docker,有一个docker虚拟网卡,一个实体网卡eth0,当我们运行springboot应用后,dubbo注入到zk的地址是 docker虚拟网卡的地址172网段,而不是实际内网地址192网段,导致远程服务调用失败!这个时候需要在启动命令加入指定网卡就可以解决这个问题。
java -jar ...
-Ddubbo.network.interface.preferred=eth0
-Ddubbo.provider.telnet=cd,clear,count,pwd,exit,invoke,log,ps,select,shutdown,status,trace,help,ls
...XXX.jar
下面的dubbo.provider.telnet是开启服务器telnet dubbo端口 允许ls 命令。方便查看发布的服务是否正常。 服务器网卡可以通过 ifconfig命令查看。可以看到一张docker0网卡和一个eth0网卡。