Open zhang1025 opened 7 years ago
这个ip需要client能连接上的。 看你在哪儿用了, 如果都是在docker的网络内就用docker的虚拟ip, 如果外部也要用则需要用主机ip,docker也要用宿主机ip开放端口转发出来。
感谢,motan-server 和 motan-client都是在docker中,这样的话<motan:basicService 还有必要写host参数吗
@rayzhang0603
@zhang1025 ananas-hebo说的非常正确,host是为了让client可以调通,你可以在具体的docker环境中测试一下使用什么ip可以telnet连上server就行。 除了配置xml中的host可以指定注册ip外,也可以通过配置docker内的hostname来指定注册ip。
docker run -it --rm --hostname=game --add-host=game:18.135.119.143 harbor.jq.cn/library/game_server:69
然后看/etc/hosts [root@game /]# more /etc/hosts 127.0.0.1 localhost ::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters 18.135.119.143 game 172.17.44.4 game
下面一条被覆盖了,实际还是读的容器IP,也就是说HOSTNAME方式不行,@rayzhang0603是怎么指定的?
@mogu1986 可以考虑docker run 运行某个启动脚本,在脚本中进行设置。
<motan:basicService export="demoMotan:8002" group="motan-demo-rpc" accessLog="false" shareChannel="true" module="motan-demo-rpc" host=“ip” application="myMotanDemo" registry="registry" id="serviceBasicConfig"/>