Docker搭建Zookeeper集群(-v挂载配置文件)

1,安装docker(略)。

2,启动docker 服务

service docker start

3,查找搜索镜像

docker search zookeeper

4,下载镜像

docker pull zookeeper

5,主机上建立挂载目录和zookeeper配置文件:

clientPort=2181
dataDir=/data
dataLogDir=/data/log
tickTime=2000
initLimit=5
syncLimit=2
autopurge.snapRetainCount=3
autopurge.purgeInterval=0
maxClientCnxns=60
server.0=192.168.90.128:2888:3888
server.1=192.168.90.129:2888:3888
server.2=192.168.90.130:2888:3888

 分别设置每台机器的server id

cd /data/zookeeper_data/data
touch myid
echo 0 > myid

注意id分别要对应配置文件中的id

6,在三台主机上依次启动容器:

docker run  --network host -v /data/zookeeper_data/data:/data -v /data/zookeeper_data/conf:/conf --name zookeeper_1  -d docker.io/zookeeper

命令说明:

  • --network host: 使用主机上的网络配置,如果不用这种模式,而用默认的bridge模式,会导致容器跨主机间通信失败
  • -v /data/zookeeper_data/data:/data:主机的数据目录挂载到容器/data下
  • -v /data/zookeeper_data/conf:/conf: 主机的配置目录挂载到容器的/conf下,容器内的zkServer.sh默认会读取/conf/zoo.cfg下的配置

都启动完成后,每台主机的2181/2888/3888端口都会开放出来了

7, 检查容器的启动情况:

 docker exec -it 容器id /bin/bash
[release@sh-lbs02 data]$ sudo docker exec -it 456 /bin/bash
[sudo] password for release: 
bash-4.4# pwd
/zookeeper-3.4.13
bash-4.4# zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /conf/zoo.cfg
Mode: follower
bash-4.4#

 8,查看zookeeper启动日志

docker logs 容器id/容器名称

你可能感兴趣的:(linux系统)