docker + redis配置主从,有两种方式:使用docker命令配置和使用配置文件映射两种方式。
docker命令配置
主库配置
其实redis配置主从,主库几乎不需要任何的多余配置,正常运行即可。
# 运行服务
docker run -it --name redis-master -d -p 6379:6379 redis redis-server --requirepass 123456
# 测试连接redis
docker exec -it redis-master redis-cli -a <master-password>
从库配置
- 运行服务
# 运行服务
docker run -it --name redis-slave -d -p 6379:6379 redis redis-server --requirepass 123123// 设定从库密码,可选
# 测试连接redis
docker exec -it redis-slave redis-cli
- 将从库配置为主库的从库
slaveof 127.0.0.1 6300//<master-ip>为主库服务ip,<master-port>表示主库所在端口
config set masterauth 123456 //<master-password>即为主库访问密码
- 测试
info
使用配置文件配置
因为docker安装redis 并没有redis.conf的配置文件存在,所以需要我们去手动映射加载配置文件
- 下载配置文件
wget http://download.redis.io/redis-stable/redis.conf
- 修改配置文件
主库修改
主redis主要修改的一些常规的配置
# bind 127.0.0.1 # 注释当前行,表示任意ip可连
daemonize yes # 让redis服务后台运行
requirepass 123456 # 设定密码
从库修改
从redis除了跟主redis的一些常规的配置之外,还需要把自己映射为主redis的从库
# bind 127.0.0.1
daemonize yes
requirepass 123123 # 从库密码,可选配置
# <masterip>表示主库所在的ip,而<masterport>则表示主库启动的端口,默认是6379
slaveof 127.0.0.1 6300
# 主库有密码必需要配置,<master-password>代表主库的访问密码
masterauth 123456
- 运行
docker run -it --name redis-slave -v /dev/redis/redis.conf:/usr/local/etc/redis/redis.conf -d -p 6379:6379 redis /bin/bash
docker exec -it redis-slave bash//进入容器
redis-server /usr/local/etc/redis/redis.conf//加载配置
redis-cli//连接
auth 123123//密码验证
测试验证入上所示 输入info