1、先安装好docker 我这边已经安装好如果需要安装docker教程请看本人其他文章
2、拉取redis:6.0.8镜像
docker pull redis:6.0.8
3、启动redis容器实例
docker run -d --name redis-node-1 --net host --privileged=true -v /data/redis/share/redis-node-1:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6381
docker run -d --name redis-node-2 --net host --privileged=true -v /data/redis/share/redis-node-2:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6382
docker run -d --name redis-node-3 --net host --privileged=true -v /data/redis/share/redis-node-3:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6383
docker run -d --name redis-node-4 --net host --privileged=true -v /data/redis/share/redis-node-4:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6384
docker run -d --name redis-node-5 --net host --privileged=true -v /data/redis/share/redis-node-5:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6385
docker run -d --name redis-node-6 --net host --privileged=true -v /data/redis/share/redis-node-6:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6386
解释:
-d
:以分离模式运行容器,意味着容器在后台运行。--name redis-node-1
:为容器指定名称"redis-node-1"。--net host
:将容器连接到宿主机的网络,允许容器使用宿主机的网络栈。--privileged=true
:赋予容器扩展的特权,允许其执行可能危险的操作。-v /data/redis/share/redis-node-1:/data
:将宿主机目录"/data/redis/share/redis-node-1"挂载到容器的"/data"目录,允许在宿主机和容器之间共享数据。redis:6.0.8
:指定要用于容器的 Redis 6.0.8 镜像。--cluster-enabled yes
:配置 Redis 服务器启用集群模式,允许其成为 Redis 集群的一部分。--appendonly yes
:配置 Redis 服务器启用追加写入文件持久性,确保每个写操作都被记录。--port 6381
:指定 Redis 服务器监听端口为 6381。
4、进入redis容器内操作
docker exec -it redis-node-1 /bin/bash
5、在容器内部使用命令构建主从关系
注意进入docker容器后执行一下命令,注意自己的真实IP地址
redis-cli --cluster create 192.168.1.139:6381 192.168.1.139:6382 192.168.1.139:6383 192.168.1.139:6384 192.168.1.139:6385 192.168.1.139:6386 --cluster-replicas 1
命令解释:
redis-cli 为进入到redis实例内部
--cluster create 为构建集群
--cluster-replicas 1 表示为每个master创建一个slave节点 6台刚好三主三从
三主三从配置ok
6、链接进入6381作为切入点 ,查看集群状态
进入6381节点:redis-cli -p 6381
查看集群信息命令:cluster info
查看本集群有哪些节点命令:cluster nodes