一、获取镜像
docker pull redis:6.0.8
二、创建对应的master和slave的配置文件
2.1 下载对应版本的配置文件http://download.redis.io/releases/
2.2 分别修改master和slave的配置文件
配置 master
#bind 127.0.0.1 #如果bind选项为空的话,则允许所有来自于可用网络接口的连接 protected-mode no #保护模式,若为yes,只允许本地客户端连接 appendonly yes #开启后,Redis会把每次写入的数据在接收后都写入appendonly.aof文件,每次启动时Redis都会先把这个文件的数据读入内存里
配置slave
#bind 127.0.0.1 protected-mode no appendonly yes # replicaof <master ip> <master port> replicaof 192.168.22.130 6379 #Redis主机(Master)IP 端口
2.3 创建自定义网络
docker network create --subnet=172.10.0.0/16 redis-network
三、创建master和slave容器
docker run -itd --name redis-master --net redis-network -v /Users/yf/docker/redis/master/conf:/usr/local/redis/conf -v /Users/yf/docker/redis/master/data:/data -p 6479:6379 --ip 172.10.0.2 redis:6.0.8 redis-server /usr/local/redis/conf/redis.conf --appendonly yes docker run -itd --name redis-slave --net redis-network -v /Users/yf/docker/redis/slave/conf:/usr/local/redis/conf -v /Users/yf/docker/redis/slave/data:/data -p 6480:6379 --ip 172.10.0.3 redis:6.0.8 redis-server /usr/local/redis/conf/redis.conf --appendonly yes
四、验证主从是否成功
进入slave容器 docker exec -it redis-slave /bin/bash
进入master容器,设置redis值,在slave中看看是否能够获取到