# 主 master
127.0.0.1 6379
# 从 slave
127.0.0.1 6378
docker 安装 redis
docker pull redis:5.0.7
docker network create web
#复制到 /www/server/redis/conf /www/server/redis_slave/conf
sudo wget https://raw.githubusercontent.com/antirez/redis/5.0.7/redis.conf -O redis.conf
配置文件修改 redis.conf
#允许远程连接
bind 0.0.0.0
#设置密码123456
requirepass 123456
#保护模式关闭
protected-mode no
#守护线程关闭
daemonize no
# 持久化
appendonly yes
# 当前为 slave 则配置
# 设定主库的密码,用于认证,如果主库开启了requirepass选项这里就填相应的密码
masterauth 123456
# 当前为 slave 则配置
# 设定master的IP和端口
# 低版本的redis这里会是slaveof
replicaof 127.0.0.1 6379
#主
docker run --name my_redis -d --network web -p 6379:6379 --restart=always \
-v /www/server/redis/conf/redis.conf:/etc/redis/redis.conf:ro \
-v /www/server/redis/data:/data \
redis:5.0.7 redis-server /etc/redis/redis.conf
#从1
docker run --name my_redis_slave -d --network web -p 6378:6379 --restart=always \
-v /www/server/redis_slave/conf/redis.conf:/etc/redis/redis.conf:ro \
-v /www/server/redis_slave/data:/data \
redis:5.0.7 redis-server /etc/redis/redis.conf
# 从2
docker run --name my_redis_slave2 -d --network web -p 6377:6379 --restart=always \
-v /www/server/redis_slave2/conf/redis.conf:/etc/redis/redis.conf:ro \
-v /www/server/redis_slave2/data:/data \
redis:5.0.7 redis-server /etc/redis/redis.conf
#查看信息
docker exec -it 容器id bash
redis-cli
auth password
info replication
客户端连接三台redis , 往master 写入数据查看 slave是否同步数据