Docker搭建redis集群一giao@TOC
使用docker搭建redis集群giao
经历很坎坷,所以决定记录下来
简单描述,以实用为准
docker安装我就不说了,我的文章有
接下来的所有操作都在一个目录下执行
第一步
docker pull redis
直接下最新版
第二部
name="1"
for port in `seq 7001 7006`;
do
docker run -id -p ${port}:${port} -p $name${port}:$name${port} -v /自定义路径/${port}/conf/redis.conf:/etc/redis/redis.conf --restart always --name=redis-${port} redis redis-server /etc/redis/redis.conf
done
把上面这串代码放到一个脚本里,命名为: docker-redis-c
第三步
准备redis.conf配置文件
https://blog.csdn.net/a731531230/article/details/108792147
这个地址的内容直接复制过来就可以了
准备配置文件目录
for port in `seq 7001 7006`; do \
mkdir -p ./${port}/conf \
&& PORT=${port} envsubst < ./redis.conf > ./${port}/conf/redis.conf \
&& mkdir -p ./${port}/data; \
done
执行这段代码,有可能不成功,但是目录结构必须是这样的:
不要在意我这个是mac
docker部署不区分系统
然后把redis.conf的这几个参数改成对应目录的端口号
比如
port 7001 #如果这个redis.conf是在7002目录下那值就是7002,以此类推
cluster-config-file nodes_7001.conf #这个也一样
这几个参数一定要注意
cluster-announce-ip 172.22.200.158 #这个是公网ip,就是你ifconfig出来的那个ip,不是127.0.0.1
cluster-announce-port 7001 #这个同上
cluster-announce-bus-port 17001 #这个参数可以百度,一两句说不清,比如你的端口是7001,那就在7001前面加个1,其他端口号以此类推
第四步
执行第二步的脚本
sh docker-redis-c
执行完毕就创建成功了六个redis容器
第五步
redis-cli -a 123456 --cluster create 172.22.200.158:7001 172.22.200.158:7002 172.22.200.158:7003 172.22.200.158:7004 172.22.200.158:7005 172.22.200.158:7006 --cluster-replicas 1
把这六个ip改成你自己的公网ip,就是ifconfig的那个IP,不要写127.0.0.1,会有问题
端口号不用改
看到这个就说明执行完毕了,直接exit退出就行了
到此就完活了,至此我想说一下:一giao我里giaogiao