文章目录
version: '2'
networks:
zk:
services:
zk1:
image: zookeeper:3.4
container_name: zk1
networks:
- zk
ports:
- "21811:2181"
environment:
ZOO_MY_ID: 1
ZOO_SERVERS: server.1=0.0.0.0:2888:3888 server.2=zk2:2888:3888 server.3=zk3:2888:3888
zk2:
image: zookeeper:3.4
container_name: zk2
networks:
- zk
ports:
- "21812:2181"
environment:
ZOO_MY_ID: 2
ZOO_SERVERS: server.1=zk1:2888:3888 server.2=0.0.0.0:2888:3888 server.3=zk3:2888:3888
zk3:
image: zookeeper:3.4
container_name: zk3
networks:
- zk
ports:
- "21813:2181"
environment:
ZOO_MY_ID: 3
ZOO_SERVERS: server.1=zk1:2888:3888 server.2=zk2:2888:3888 server.3=0.0.0.0:2888:3888
[root@localhost test]# docker-compose ps
Name Command State Ports
-------------------------------------------------------------------------------------------
zk1 /docker-entrypoint.sh zkSe ... Up 0.0.0.0:21811->2181/tcp, 2888/tcp, 3888/tcp
zk2 /docker-entrypoint.sh zkSe ... Up 0.0.0.0:21812->2181/tcp, 2888/tcp, 3888/tcp
zk3 /docker-entrypoint.sh zkSe ... Up 0.0.0.0:21813->2181/tcp, 2888/tcp, 3888/tcp
[root@localhost test]# docker exec -it zk1 bash ./bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /conf/zoo.cfg
Mode: follower
[root@localhost test]# docker exec -it zk2 bash ./bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /conf/zoo.cfg
Mode: follower
[root@localhost test]# docker exec -it zk3 bash ./bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /conf/zoo.cfg
Mode: leader