docker部署redis集群_Redis集群部署 for docker

docker部署redis集群

一、查询最新redis镜像

docker search redis

b2a065921da6c347e6a63c2e08c258c6.png

二、下载redis镜像

docker pull redis

e97ce48025f65b48cde5eb4955b81556.png

三、创建一个文件夹,以及创建redis-cluster.tmpl模板文件

mkdir redis-cluster-d

cd redis-cluster-d

port ${PORT}

masterauth 123456

requirepass 123456

cluster-enabled yes

cluster-config-file nodes.conf

cluster-node-timeout 5000

cluster-announce-ip 172.19.0.1

cluster-announce-port ${PORT}

cluster-announce-bus-port 1${PORT}

appendonly yes

参数描述

(1)port(端口号)

(2)masterauth(设置集群节点间访问密码,跟下面一致)

(3)requirepass(设置redis访问密码)

(4)cluster-enabled yes(启动集群模式)

(5)cluster-config-file nodes.conf(集群节点信息文件)

(6)cluster-node-timeout 5000(redis节点宕机被发现的时间)

(7)cluster-announce-ip(集群节点的汇报ip,防止nat,预先填写为网关ip后续需要手动修改配置文件)

(8)cluster-announce-port(集群节点的汇报port,防止nat)

(9)cluster-announce-bus-port(集群节点的汇报bus-port,防止nat)

(10) appendonly yes(开启aof)

四、在 redis-cluster下生成conf和data目标,并生成配置信息

执行以下命令,按模板生成文件以及文件夹

for port in `seq 7001 7006`; do \

  mkdir -p ./${port}/conf \

  && PORT=${port} envsubst < ./redis-cluster.tmpl > ./${port}/conf/redis.conf \

  && mkdir -p ./${port}/data; \

done

9baa6f02d6ef9a24bc64df8589548ac1.png

5277d91c7718ade4cb28c723a9450839.png

五、创建6个redis容器

for port in `seq 7001 7006`; do

     docker run -d --net=host -v /root/redis-cluster-d/${port}/conf/redis.conf:/etc/redis/redis.conf -v /root/redis-cluster-d/${port}/data:/data --restart always --name=redis-${port}  redis redis-server /etc/redis/redis.conf;

done

039242e911787a2ccf92a26a354ce58a.png

六、进入任意一个已运行的redis容器

docker exec -it redis-7001 bash

87a65b9d143d64f52cf800b674e2090a.png

执行集群指令

 redis-cli -a 123456 --cluster create 192.168.96.171:7001 192.168.96.171:7002 192.168.96.171:7003 192.168.96.171:7004 192.168.96.171:7005 192.168.96.171:7006 --cluster-replicas 1

6804b26865b653cc430c795d76398504.png

c3653a216301418aad5a09b9df5dc702.png

七、检查集群状态

容器内验证

redis-cli -c -a 123456  -h 192.168.96.171  -p 7001

b070cde036aab89c6cf712b9fe7a92b8.png

Centos中验证

redis-cli -c -a 123456 -h 192.168.96.171 -p 7001

1ffd7bde656a4f399847dde35e61dd18.png

redis-cli -a 123456 --cluster check 192.168.96.171:7001

e26987b83444f8a7afa38e1b3ea2c78b.png

八、如果是准备在公网使用集群,需要修改每一个nodes.conf文件中 myself,master配置的ip地址为公网ip,并重启

4e2c35fb9464630d3cb398bddf9976ac.png

至此部署完毕。

如有需要请关注作者微信公众号,我们定时推送新技术文章

8e60e7d815096f8eccece42117afa392.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值