docker部署redis集⼀、查询最新redis镜像
docker search redis
⼆、下载redis镜像
docker pull redis
三、创建⼀个⽂件夹,以及创建pl模板⽂件
mkdir redis-cluster-d
cd redis-cluster-d
port ${PORT}
masterauth 123456
requirepass 123456
cluster-enabled yes
f
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)f(集节点信息⽂件)
(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 < ./pl > ./${port}/f \
&& mkdir -p ./${port}/data; \
done
⽂件结构
五、创建6个redis容器
for port in `seq 7001 7006`; do
docker run -d --net=host -v /root/redis-cluster-d/${port}/f:/etc/f -v /root/redis-cluster-d/${port}/data:/data --restart always --name=redis-${port} redis redis-server /etc/f;
done
六、进⼊任意⼀个已运⾏的redis容器
docker exec -it redis-7001 bash
执⾏集指令
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
七、检查集状态
容器内验证
docker进入容器redis-cli -c -a 123456 -h 192.168.96.171 -p 7001
Centos中验证
redis-cli -c -a 123456 -h 192.168.96.171 -p 7001
redis-cli -a 123456 --cluster check 192.168.96.171:7001
⼋、如果是准备在公⽹使⽤集,需要修改每⼀个f⽂件中 myself,master配置的ip地址为公⽹ip,并重启
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论