Redis主从复制

1,创建docker网络"redis-net":

执行命令:sudo docker network create --driver bridge redis-net

最后一条记录系新创建连接

Redis主从复制

2,创建主容器实例master-redis:

配置文件下载地址:https://redis.io/topics/config/ 选择对应大版本号下载,小版本号忽略

-v这是指volume,把配置文件/home/myubuntu/upload/redis.conf挂靠到/usr/local/etc/redis/redis.conf

--network “redis-net ” 系上面创建的网络

修改配置/home/myubuntu/upload/redis.conf 找到 bind127.0.0.1改为 bind 0.0.0.0

执行命令:

sudo docker run -v /home/myubuntu/upload/redis.conf:/usr/local/etc/redis/redis.conf --name master-redis --network redis-net --rm redis redis-server /usr/local/etc/redis/redis.conf

Redis主从复制

查看“redit-net"网络,执行命令:sudo docker network inspect redis-net

Redis主从复制

3,创建从容器实例

上面"IPv4Address": "172.18.0.2/16" 系主容器地址,下面会用到

复制redis.conf主容器配置文件到/home/myubuntu/upload/redis2.conf

在“redis2.conf”查找"# replicaof <masterip> <masterport>"修改为“replicaof 172.18.0.2 6379”

执行命令:
sudo docker run -v /home/myubuntu/upload/redis2.conf:/usr/local/etc/redis/redis2.conf --name slave-redis --network redis-net --rm redis redis-server /usr/local/etc/redis/redis2.conf

下图为,主容器连接成功提示

Redis主从复制

下图为,从容器连接成功提示

Redis主从复制

4,打开主容器客户端,曾,删,改,从容器会发生变化

Redis主从复制

Redis主从复制

5,主从容器设置密码,重新创建才容器才生效

主容器配置文件redis.conf:# requirepass foobared   修改为 requirepass 123456

从容器配置文件redis2.conf:# masterauth <master-password>  修改为 masterauth 123456

相关推荐