在 Win 10 Docker 上搭建 Redis 主从复制

在 Win 10 Docker 上搭建 Redis 主从复制

前面介绍了 MySQL 可以主从复制,Rdies 当然也可以,而且是极简风格,只需要一个命令 replicaof,如果你对 Docker 的操作不熟悉的话,可以看看下面的详细步骤

启动节点

使用 Docker 创建三个 redis 节点

启动主节点

1
2
3
4
docker pull redis
docker run -itd --name redis-6379 -p 6379:6379 redis --appendonly yes --protected-mode no
docker exec -it redis-6379 /bin/bash
$redis-cli

启动从节点 1

1
2
3
4
5
docker pull redis
docker run -itd --name redis-6380 -p 6380:6379 redis --appendonly yes --protected-mode no
docker exec -it redis-6380 /bin/bash
$redis-cli
replicaof 172.19.16.1 6379

启动从节点 2

1
2
3
4
5
docker pull redis
docker run -itd --name redis-6381 -p 6381:6379 redis --appendonly yes --protected-mode no
docker exec -it redis-6381 /bin/bash
$redis-cli
replicaof 172.19.16.1 6379

搭建主从复制

哪个是主节点哪个是从节点这就随意了,你可以像这样:

image-20210217140516944

或者像这样

image-20210217140549695

把下面的命令简单修改一下就行

tip:Redis5.0之前,主从配置命令使用 slaveof

查看 IP 地址

1
docker inspect -f '{{.Name}} - {{.NetworkSettings.IPAddress }}' $(docker ps -aq)

更多查看 IP 的命令请看这篇文章

查看 Docker IP 的几种方法

记住主节点 IP

从节点 1

填主节点 IP 与 端口

1
replicaof  172.17.0.2 6379

查看状态

1
2
3
4
5
6
7
8
info replication
---
127.0.0.1:6379> info replication
## Replication
role:slave
master_host:172.17.0.2
master_port:6379
master_link_status:up

从节点 2

填主节点 IP 与 端口

1
replicaof  172.17.0.2 6379

查看状态

1
2
3
4
5
6
7
8
info replication
---
127.0.0.1:6379> info replication
## Replication
role:slave
master_host:172.17.0.2
master_port:6379
master_link_status:up

验证

主节点设置 aa

1
2
3
4
5
6
127.0.0.1:6379> keys *
(empty array)
127.0.0.1:6379> set aa bb
OK
127.0.0.1:6379> keys *
1) "aa"

从节点查看

1
2
3
4
127.0.0.1:6379> keys *
1) "aa"
127.0.0.1:6379> get aa
"bb"

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!