redis主从集群搭建
1.下载redis镜像
docker pull redis
下载完毕之后,保险起见,看一下下,用docker images
2.启动redis-master和redis-slave.
(三条语句分别另开窗口运行哈,我开了4个)
docker run -it --name redis-master -p 6379:6379 redis /bin/bash
docker run -it --name redis-slave1 --link redis-master:master redis /bin/bash
docker run -it --name redis-slave2 --link redis-master:master redis /bin/bash
3.查询得到source,如图所示
(这个在第四个窗口运行)
docker inspect --format='{{.Mounts}}' redis-master
docker inspect --format='{{.Mounts}}' redis-slave1
docker inspect --format='{{.Mounts}}' redis-slave2
还可以用另外两个命令
docker inspect --format=’{{json .Mounts}}’ redis-master
这个相对来说看的更全一些
docker inspect -f ‘{{json .Mounts}}’ redis-master
这一个就稍微简短一些
4.将两个文件分别放到容器卷里边去,一一对应哈,不要弄混辽(redis-master.conf和redis.conf)
ps:两个文档我已经放到资源里面了,需要的话可自行拿取,不需要积分哈。
cp redis-master.conf /var/XXX/xxxxx/xxx/_data
##master的source
cp redis.conf /var/XXX/xxxxx/xxx/_data
##slave1的source
cp redis.conf /var/XXX/xxxxx/xxx/_data
##slave2的source
5.在master里面查看文件是否存在,拷贝文件到/usr/local/bin目录下,然后切换到该目录。
ls
cp radis-master.conf /usr/local/bin
cd /usr/local/bin
slave1,slave2同理
cp radis.conf /usr/local/bin
cd /usr/local/bin
6.不同窗口运行redis-server redis-master.conf和redis-server redis.conf,一一对应。
redis-server redis-master.conf
redis-server redis.conf
7.最后三个窗口都运行redist-cli
redis-cli
8.然后再master里面set key value,然后get,如果再slave1和slave2中都可以get到master里面设置的key值,则成功。
完毕,over !
另外,本文章的部分步骤参考
这里