1.安装docker
2.编辑3个redis配置
cd /etc
mkdir redis-ms
cd redis-ms/
vim redis6379.conf
vim redis6380.conf
vim redis6381.conf
# master
#端口号
port 6379
#设置客户端连接后进行任何其他指定前需要使用的密码
requirepass 123456
#daemonize no 将daemonize yes注释起来或者 daemonize no设置,因为该配置和docker run中-d参数冲突,会导致容器一直启动失败
daemonize no
# 任何主机都可以连接到redis
bind 0.0.0.0
#是否开启保护模式,默认开启。要是配置里没有指定bind和密码。开启该参数后,redis只会本地进行访问,拒绝外部访问。
protected-mode no
# 默认情况下,redis会在后台异步的把数据库镜像备份到磁盘,但是该备份是非常耗时的,而且备份也不能很频繁,如果发生诸如拉闸限电、拔插头等状况,那么将造成比较大范围的数据丢失。
# 所以redis提供了另外一种更加高效的数据库备份及灾难恢复方式。
# 开启append only模式之后,redis会把所接收到的每一次写操作请求都追加到appendonly.aof文件中,当redis重新启动时,会从该文件恢复出之前的状态。
# 但是这样会造成appendonly.aof文件过大,所以redis还支持了BGREWRITEAOF指令,对appendonly.aof 进行重新整理。
# 你可以同时开启asynchronous dumps 和 AOF
appendonly yes
# slave1
port 6380
#设置客户端连接后进行任何其他指定前需要使用的密码
requirepass 123456
# 这一步很重要!主从认证密码,否则主从不能同步!!
masterauth 123456
#daemonize no 将daemonize yes注释起来或者 daemonize no设置,因为该配置和docker run中-d参数冲突,会导致容器一直启动失败
daemonize no
# 任何主机都可以连接到redis
bind 0.0.0.0
#是否开启保护模式,默认开启。要是配置里没有指定bind和密码。开启该参数后,redis只会本地进行访问,拒绝外部访问。
protected-mode no
# 开启AOF
appendonly yes
# slave2
port 6381
#设置客户端连接后进行任何其他指定前需要使用的密码
requirepass 123456
# 这一步很重要!主从认证密码,否则主从不能同步!!
masterauth 123456
#daemonize no 将daemonize yes注释起来或者 daemonize no设置,因为该配置和docker run中-d参数冲突,会导致容器一直启动失败
daemonize no
# 任何主机都可以连接到redis
bind 0.0.0.0
#是否开启保护模式,默认开启。要是配置里没有指定bind和密码。开启该参数后,redis只会本地进行访问,拒绝外部访问。
protected-mode no
# 开启AOF
appendonly yes
3.部署3个redis
docker run -p 6379:6379 -v $PWD/data6379:/data -v $PWD/redis6379.conf:/etc/redis/redis.conf --privileged=true --name redis-6379 -d redis redis-server /etc/redis/redis.conf
docker run -p 6380:6380 -v $PWD/data6380:/data -v $PWD/redis6380.conf:/etc/redis/redis.conf --privileged=true --name redis-6380 -d redis redis-server /etc/redis/redis.conf
docker run -p 6381:6381 -v $PWD/data6381:/data -v $PWD/redis6381.conf:/etc/redis/redis.conf --privileged=true --name redis-6381 -d redis redis-server /etc/redis/redis.conf
4.查看主redis的 IPAddress
docker ps | grep redis-6379
docker inspect be101fa40be7 | grep IPAddress
找到对应的 "IPAddress": "172.17.0.4"
5.查看主redis的信息
进入:docker exec -it redis-6379 redis-cli -p 6379
密码验证: auth 123456
查看信息:info replication
role:master
connected_slaves:0
6.进入从redis
进入:docker exec -it redis-6380 redis-cli -p 6380
密码验证: auth 123456
关联:slaveof 172.17.0.4 6379
注:6381 一样的操作
7.再次查看主redis的信息
8.大功告成 开始验证
在主redis设置值
在从redis查看
注:从redis是只读的状态