Docker快速搭建redis集群硬核教程

Docker搭建redis集群

关闭防火墙

systemctl status firewalld.service

安装启动Docker

安装(略)

启动

systemctl start docker

创建6个docker容器实例(计划3主3从)

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

命令解析

  1. docker run 是创建容器实例
  2. –name redis-node-6 中 redis-node-6 就是容器实例的名字
  3. –net host 使用宿主机的ip和端口,保持默认
  4. –privileged=true 获取宿主机root用户权限
  5. -v /data/redis/share/redis-node-6:/data 将宿主机的真实地址**/data/redis/share/redis-node-6挂载到容器的/data** 中
  6. redis:6.0.8 redis的镜像和版本号
  7. –cluster-enabled yes 开启redis集群
  8. –appendonly yes 开启持久化
  9. –port 6386 redis端口号是6386(自定义)

查看容器是否创建

docker ps -a

请添加图片描述

进入节点1构建主从关系

docker exec -it redis-node-1 /bin/bash

构建主从关系

这个命令中的端口都是我们之前创建容器定义的端口

ip就是宿主机的ip

redis-cli --cluster create ip:6381 ip:6382 ip:6383 ip:6384 ip:6385 ip:6386 --cluster-replicas 1

–cluster-replicas 1 表示为每个master创建一个slave节点

请添加图片描述

查看节点状态

进入第一节点

docker exec -it redis-node-1 /bin/bash

打开redis-cli

redis-cli -p 6381

执行

cluster info
cluster node

Docker快速搭建redis集群硬核教程_第1张图片

成功!

你可能感兴趣的:(Docker,redis,docker,redis,容器)