在网上查询方法,有compose文件,但是直接使用是有问题的,因为docker化的服务是虚拟出来的,所以compose文件需要修改,需要添加参数quorumListenOnAllIPs:true
首先参考http://blog.csdn.net/wwh578867817/article/details/52553785?locationNum=12 该链接的内容,因为使用的service3版本,所以修改了compose中不必要的配置,并添加虚拟网卡default_overlay。
但是检查集群报错,因为集群无法启动
后找到http://blog.csdn.net/u014284000/article/details/74508963这个博主分享的内容,在本地测试添加配置,可正常启动集群,后将配置加入到compose文件中
经过本地测试,也可正常启动,
如下是正确的compose文件
version: '3'
services:
zoo1:
image: zookeeper
ports:
- "2181:2181"
environment:
ZOO_MY_ID: 1
ZOO_SERVERS: quorumListenOnAllIPs:true server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888
networks:
- default_overlay
zoo2:
image: zookeeper
ports:
- "2182:2181"
environment:
ZOO_MY_ID: 2
ZOO_SERVERS: quorumListenOnAllIPs:true server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888
networks:
- default_overlay
zoo3:
image: zookeeper
ports:
- "2183:2181"
environment:
ZOO_MY_ID: 3
ZOO_SERVERS: quorumListenOnAllIPs:true server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888
networks:
- default_overlay
networks:
default_overlay:
external: true
启动正常后,可正常进入到容器下查看zk启动的状态和属性