docker redis集群学习笔记

docker 搭建 redis 集群

  1. 创建redis-cluster目录

mkdir /home/redis/docker_redis_cluster

  1. 获取redis原生的配置文件

wget http://download.redis.io/redis-stable/redis.conf

  1. 下载redis-trib.rb

wget http://download.redis.io/redis-stable/src/redis-trib.rb

  1. redis.conf 配置文件 改为 redis-cluster.tmpl

mv redis.conf redis-cluster.tmpl

  1. 修改redis.conf 配置文件

#bind 127.0.0.1
protected-mode no
port ${PORT}
daemonize no
dir /data/redis
appendonly yes
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 15000

  1. 创建Dokerfile

FROM ruby:2.5-slim
MAINTAINER dongsilindslzc@foxmail.com
RUN gem install redis
RUN mkdir /redis
WORKDIR /redis
ADD ./redis-trib.rb /redis/redis-trib.rb

  1. 创建docker内部网络

查询是否存在
docker network ls #检查网络是否存在
docker network rm 网路名#存在删除删除网络
docker network create redis-cluster-net #创建网络

  1. 创建 master 和 slave 文件夹

for port in seq 7000 7005; do
ms=“master”
if [ p o r t − g e 7003 ] ; t h e n m s = &quot; s l a v e &quot; f i m k d i r − p . / port -ge 7003 ]; then ms=&quot;slave&quot; fi mkdir -p ./ portge7003];thenms="slave"fimkdirp./ms/KaTeX parse error: Expected 'EOF', got '&' at position 7: port/ &̲& mkdir -p ./ms/KaTeX parse error: Expected 'EOF', got '\ ' at position 11: port/data \̲ ̲ && PORT=port envsubst < ./redis-cluster.tmpl > ./ m s / ms/ ms/port/redis.conf;
done;

  1. 运行docker redis 的 master 和 slave 实例

for port in seq 7000 7005; do
ms=“master”
if [ $port -ge 7003 ]; then
ms=“slave”
fi
docker run -d -p p o r t : port: port:port -p 1 p o r t : 1 port:1 port:1port
-v P W D / PWD/ PWD/ms/$port/redis.conf:/data/redis.conf
-v P W D / PWD/ PWD/ms/KaTeX parse error: Expected 'EOF', got '\ ' at position 23: …ta:/data/redis \̲ ̲--restart alway…ms-$port --net redis-cluster-net
redis redis-server /data/redis.conf;
done;

  1. 组装masters : slaves 节点参数

matches=""
for port in seq 7000 7005; do
ms=“master”
if [ p o r t − g e 7003 ] ; t h e n m s = &quot; s l a v e &quot; f i m a t c h e s = port -ge 7003 ]; then ms=&quot;slave&quot; fi matches= portge7003];thenms="slave"fimatches=matches ( d o c k e r i n s p e c t − − f o r m a t ′ ( i n d e x . N e t w o r k S e t t i n g s . N e t w o r k s &quot; r e d i s − c l u s t e r − n e t &quot; ) . I P A d d r e s s ′ &quot; r e d i s − (docker inspect --format &#x27;{{(index .NetworkSettings.Networks &quot;redis-cluster-net&quot;).IPAddress}}&#x27; &quot;redis- (dockerinspectformat(index.NetworkSettings.Networks"redisclusternet").IPAddress"redisms- p o r t &quot; ) : {port}&quot;): port"):{port}" ";
done;

  1. 创建集群

docker-clusterdocker run -it --rm --net redis-cluster-net redis-trib ruby redis-trib.rb create --replicas 1 $matches

  1. 集群创建完毕开始验证

docker exec -it redis-master-7000 redis-cli -c -h 192.168.121.128 -p 7000
192.168.121.128:7000>
验证成功

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值