docker 部署redis集群

一、准备

1.拉取镜像

docker search redis
docker pull redis

2.设置容器网络

目的:创建虚拟网卡,主要是用于redis-cluster能于外界进行网络通信,一般常用桥接模式。

docker network create redis-network

补充命令:

docker network inspect [容器名称]
docker network rm [容器名称]

3.编写配置文件

使用shell

for port in $(seq 6371 6376); 
do 
mkdir -p /home/redis/node-${port}/conf
touch /home/redis/node-${port}/conf/redis.conf
cat  << EOF > /home/redis/node-${port}/conf/redis.conf
port ${port}
requirepass [密码]
bind 0.0.0.0
protected-mode no
daemonize no
appendonly yes
cluster-enabled yes 
cluster-config-file nodes.conf
cluster-node-timeout 5000
cluster-announce-ip  [服务器ip]
cluster-announce-port ${port}
cluster-announce-bus-port 1${port}
EOF
done

命令解释:

port:节点端口;
requirepass:设置密码,访问时需要验证
protected-mode:保护模式,默认值 yes,即开启。开启保护模式以后,需配置 bind ip 或者设置访问密码;关闭保护模式,外部网络可以直接访问;
daemonize:是否以守护线程的方式启动(后台启动),默认 no;
appendonly:是否开启 AOF 持久化模式,默认 no;
cluster-enabled:是否开启集群模式,默认 no;
cluster-config-file:集群节点信息文件;
cluster-node-timeout:集群节点连接超时时间;
cluster-announce-ip:集群节点 IP
注意: 如果你想要你的redis集群可以供外网访问,这里直接填 服务器的IP 地址即可
如若为了安全,只是在服务器内部进行访问,这里还需要做一些修改。
cluster-announce-port:集群节点映射端口;
cluster-announce-bus-port:集群节点总线端口。

二、启动容器

使用shell启动容器

for port in $(seq 6371 6376);\
do\
   docker run -it -d -p ${port}:${port} -p 1${port}:1${port}\
  --privileged=true -v /home/redis/node-${port}/conf/redis.conf:/usr/local/etc/redis/redis.conf\
  --privileged=true -v /home/redis/node-${port}/data:/data\
  --restart always --name redis-${port} --net redis-network\
  --sysctl net.core.somaxconn=1024 redis redis-server /usr/local/etc/redis/redis.conf
done

命令解释:

-it:交互
-d:后台运行,容器启动完成后打印容器
–privileged:是否让docker 应用容器 获取宿主机root权限(特殊权限-)
-p :端口映射
-v:文件挂载
–sysctl参数来设置系统参数,通过这些参数来调整系统性能
–restart always:在容器退出时总是重启容器
–name :给容器取名
–net myredis :使用我们创建的虚拟网卡 (想详细了解,可以去看看Docker 网络方面知识)

进入容器

随意选择一个节点进入,创建Redis集群。

docker exec -it redis-6371 /bin/bash

创建集群

注意:服务器需要放开端口

redis-cli  -a [密码] --cluster create 服务器ip:6371 服务器ip:6372 服务器ip:6373 服务器ip:6374 服务器ip:6375 服务器ip:6376   --cluster-replicas 1

注意

1.重新部署需要删除 data文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值