请问有没有把dubbo服务放进docker 用swarm mode部署的

环境是3台机器,做swarm集群,zookeeper运行在其他的服务器上(非docker)。dubbo 提供者和消费者都是放到docker里面的,使用docker stack deploy 发布。dubbo调用需要将宿主机的ip注册到zookeeper上,这样消费者才能够调用到。现在的问题是,部署消费者一共9个点,在dubbo admin上查看
注册的端口都是ip+20883,有同一个ip+端口,都注册到了zookeeper。swarm官网说他有负载均衡的机制,调用服务的时候会在几个节点上轮询,但是我发现它只轮询了3个节点,也就是每个宿主机上只轮询其中的一个。请问,大家有没有,把dubbo 部署到docker swarm 中的经验。谢谢。244,245,252是宿主机ip 图片说明

2个回答

把dubbo服务项目挂在到运行在docker swarm 的web容器不就好了,注意下同一个web容器中运行duboo服务的端口要修改成不一样 不就好了
附上参考的启动脚本
#!/bin/bash
name=dubbo
webapps=/home/${user}/dubbo-webapps
sudo docker service rm $name
sudo docker service create \
--name $name \
--env LANG=zh_CN.UTF-8 \
-e JAVA_OPTS="-Duser.timezone=GMT+08 -Dfile.encoding=UTF8 -Dsun.jnu.encoding=UTF8 -Xms2g -Xmx4g" \
--network tomcat \
--detach=false \
--mount type=bind,src=/etc/localtime,dst=/etc/localtime \
--mount type=bind,src=/home/uns/docker-webapps/config/ojdbc14-10.2.0.4.0.jar,dst=/us
--mount type=bind,src=$webapps/xxxx-provider,dst=/usr/local/tomcat/webapps/xxxxx-provider \
tomcat:latest

图片说明地址是docker 中overlay网络配置的地址

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!