使用docker搭建redis主从(master-slave)集群

目录

1.在linux服务器下载redis.conf文件

2.修改redis.conf的基本配置

3.创建master节点容器:

4.新建slave节点redis.conf配置文件

5.创建两个salve节点容器:

6.一主两从的集群就搭好了

7.查看日志

8.测试搭建的集群

9.命令测试集群,在master主节点设置数据,从节点获取数据

 9.1、redis8379设置数据

 9.2、redis8380获取数据


1.在linux服务器下载redis.conf文件
wget http://download.redis.io/redis-stable/redis.conf
2.修改redis.conf的基本配置

  部分参数说明:

#如果bind选项为空的话,则允许所有来自于可用网络接口的连接
#bind 127.0.0.1 
#保护模式,若为yes,只允许本地客户端连接
protected-mode no 
#开启后,Redis会把每次写入的数据在接收后都写入 appendonly.aof 文件,每次启动时Redis都会先把这个文件的数据读入内存里
appendonly yes
3.创建master节点容器:

新建三个文件夹redis8379,redis8380,redis8381,其中8379为主

我们将redis.conf文件拷贝到8379的目录下,并执行以下命令,创建master主节点

#创建master节点redis8379
docker run --name redis8379 --privileged=true -p 8379:6379 
-v /home/dockergz/redis/redis8379:/etc/redis 
-d docker.io/redis /etc/redis/redis.conf

参数说明:

# --name redis8379容器别名

# --privileged=true 给容器设置特殊权限

# -p 8379:6379 端口映射 宿主端口8379,容器端口6379

# -v /home/dockergz/redis/redis8379:/etc/redis 路径映射,宿主磁盘路径/home/dockergz/redis/redis8379,对应容器路径/etc/redis

# -d 后台起应用

# docker.io/redis 镜像名字

# /data/redis.conf 以配置文件形式启动,这是容器里的配置文件路径

其中–privileged=true这项命令可能会觉得疑惑,原因是如果以容器启动,容器是不具备映射路径的权限的,需要另外配置,这里通过–privileged=true简化了配置,直接赋予特殊权限。

4.新建slave节点redis.conf配置文件

将之前主节点下的redis.conf文件拷贝到两个从节点redis8380、redis8381文件夹下,然后在文件中再添加一行配置:

replicaof 47.112.153.193 8379

指明主服务器的ip和端口,这里的ip和端口都是宿主机器维度的。

5.创建两个salve节点容器:
#创建slave节点redis8380
docker run --name redis8380 --privileged=true -p 8380:6379 
-v /home/dockergz/redis/redis8380:/etc/redis 
-d docker.io/redis /etc/redis/redis.conf

#创建slave节点redis8381
docker run --name redis8381 --privileged=true -p 8381:6379 
-v /home/dockergz/redis/redis8381:/etc/redis 
-d docker.io/redis /etc/redis/redis.conf

查看创建的slave

6.一主两从的集群就搭好了

我们可以通过如下命令查看每个节点的状态:

#查看master节点info
docker exec -it redis8379 redis-cli info replication

#查看slave节点info
docker exec -it redis8380 redis-cli info replication

7.查看日志
# -t 表示显示docker的时间戳,还有一些其他的附加指令,可以百度。
docker logs -t redis8380

8.测试搭建的集群

9.命令测试集群,在master主节点设置数据,从节点获取数据
 9.1、redis8379设置数据

 9.2、redis8380获取数据

说明主从模式集群搭建成功

附,使用vim命令编辑redis.conf文件时,翻页命令:

向文件尾翻半屏 Ctrl+d,向文件首翻半屏 Ctrl+u

向文件尾翻一屏 Ctrl+f,向文件首翻一屏 Ctrl+b

附,使用vim命令编辑redis.conf文件时,查找字符串:

/+关键字 ,回车即可。此为从文档当前位置向下查找关键字,按n键查找关键字下一个位置;

?+关键字,回车即可。此为从文档挡圈位置向上查找关键字,按n键向上查找关键字;

附,查看容器的ip

docker inspect

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值