获取redis配置文件
wget http://download.redis.io/redis-stable/redis.conf
复制主从配置文件
cp redis.conf redis-master.conf
cp redis.conf redis-slave.conf
修改主库配置信息
# 设置任意ip可连,注释这一行
# bind 127.0.0.1
# 设置为true,让redis服务后台运行
daemonize yes
# 设定密码
requirepass lindj
修改从库配置信息
# 设置任意ip可连,注释这一行
# bind 127.0.0.1
# 设置为true,让redis服务后台运行
daemonize yes
# 设定密码
requirepass lindj
# <masterip>表示主库所在的ip,<masterport>表示主库启动的端口
slaveof <masterip> <masterport>
# 主库有密码必需要配置,<master-password>代表主库的访问密码
masterauth lindj
最终文件列表
启动redis集群
- 按照这个命令分别运行redis主库与从库
sh docker_restart.sh <名称> <端口>
docker_restart.sh 内容如下
#!/bin/sh
application_name=$1
port=$2
echo "application=${application_name}"
echo "port=${port}"
echo "container is stoping and removing"
containerId=$(docker ps -a | grep -E "${application_name}" | awk '{print $1}')
if [ ! -z $containerId ]
then docker stop $containerId && docker rm $containerId
fi
echo "container is running"
docker run -it --name ${application_name} \
-d -p ${port}:${port} redis redis-server --requirepass lindj --port ${port}
- 进入第一步启动的容器中
docker exec -it <redis库名称> bash
- 加载配置
redis-server /usr/local/etc/redis/redis.conf
重复第二步、第三步,直到所有容器都执行了一遍,至此redis集群启动完毕。
测试
进入主库
docker exec -it redis-master bash
# 连接redis
redis-cli -a lindj -p <端口>
set name 123
进入从库
docker exec -it redis-slave1 bash
# 连接redis
redis-cli -a lindj -p <端口>
get name
相关链接
** 三人行必有我师,欢迎大家指点学习**