前提条件是二个主机处于docker swarm mode下(如何建立swarm集群请百度)
Docker node ls 查看是否处于该模式
1)自定义overlay网络[1.13+]
#docker network create --attachable -d overlay --subnet 172.16.15.0/24 --gateway 172.16.15.254 zk-overlay
--attachable 创建swarm mode的overlay网络,允许手工创建容器连接到该网络.
在二个及二个以上节点查看网络情况
#docker network ls
2)节点1
version: '3.1'
services:
zoo1:
image: zookeeper
restart: always
hostname: zoo1
container_name: zoo1
ports:
- 2181:2181
- 2888:2888
- 2388:3888
environment:
TZ: 'Asia/Shanghai'
ZOO_MY_ID: 1
ZOO_SERVERS: server.1=0.0.0.0:2888:3888 server.2=zoo2:2888:3888
networks:
- zk-overlay
networks:
zk-overlay:
external: true
3) 节点2
version: '3.1'
services:
zoo2:
image: zookeeper
restart: always
hostname: zoo2
container_name: zoo2
ports:
- 2181:2181
- 2888:2888
- 2388:3888
environment:
TZ: 'Asia/Shanghai'
ZOO_MY_ID: 2
ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=0.0.0.0:2888:3888
networks:
- zk-overlay
networks:
zk-overlay:
external: true
4) 其他节点类似
5)查看zk运行情况
docker logs -f zoo1
docker logs -f zoo2