Redis-Docker 安装(主从复制)

12/27/2023 LinuxDockerRedis

摘要

Docker CE Version:20.10.10
Centos Version:CentOS Linux release 7.9.2009 (Core)

# 一:安装Redis

具体可查看 安装Redis

# 二:主节点

# 2.1 新建文件夹

新建 dataconf 两个文件夹,位置随意。

mkdir -p /root/docker/redis2/{data,conf}
1

新建文件夹

# 2.2 新建配置

在刚才新建的 redis2/conf 中新建文件 redis-master.conf,填入以下内容:

protected-mode no
## 持久化
appendonly yes
## 密码
requirepass qazwsx123edc
1
2
3
4
5

redis.conf

# 2.3 启动

docker run --name redis-master -p 6380:6379 -v /root/docker/redis2/data:/data -v /root/docker/redis2/conf/redis-master.conf:/etc/redis/redis.conf -d redis redis-server /etc/redis/redis.conf
1

释义如下:

  • –name:给容器起一个名
  • -p:端口映射 宿主机:容器
  • -v:挂载自定义配置 自定义配置:容器内部配置
  • -d:后台运行
  • redis-server /etc/redis/redis.conf:让 redis 按照此 redis.conf 的配置启动

启动

# 三:从节点

# 3.1 查看主库ip

  1. 获取主节点的 docker 内部 ip 地址:
docker inspect --format={{.NetworkSettings.IPAddress}} redis-master
1

# 3.2 新建配置

在上面步骤新建的 redis2/conf 中新建文件 redis-slave.conf,填入以下内容:






 
 
 
 
 

protected-mode no
## 持久化
appendonly yes
## 密码
requirepass qazwsx123edc
## 主库的ip和端口(低版本关键词slaveof,高版本关键词replicaof)
## 注意:这里的ip如果不是docker内部ip,搭建哨兵可能会通信失败
replicaof 172.17.0.2 6379
## 主库访问密码
masterauth qazwsx123edc
1
2
3
4
5
6
7
8
9
10

redis.conf

# 3.3 启动

## 第一个从节点
> docker run --name redis-slave1 -p 6381:6379 -v /root/docker/redis2/data:/data -v /root/docker/redis2/conf/redis-slave.conf:/etc/redis/redis.conf -d redis redis-server /etc/redis/redis.conf

## 第二个从节点
> docker run --name redis-slave2 -p 6382:6379 -v /root/docker/redis2/data:/data -v /root/docker/redis2/conf/redis-slave.conf:/etc/redis/redis.conf -d redis redis-server /etc/redis/redis.conf
1
2
3
4
5

启动

# 3.4 验证

通过 docker ps 查看启动状态是否成功

验证

# 四:容器终端

  1. 执行 docker exec -it redis-master redis-cli 命令,进入终端。

  2. 通过 auth qazwsx123edc 进行登陆。

  3. 输入 info Replication 查看主从状态

终端

同样再查看两个从节点主从状态

终端

终端

注意如果出现该错误: (error) NOAUTH Authentication required.

说明没有输入密码进行验证,请输入:auth 密码

  1. 在主节点写入,验证从节点是否同步,同时验证从节点是否只有只读权限

终端

# 五:常见问题

具体可查看 常见问题

# 六:参考文献

最后更新: 12/28/2023, 5:29:47 PM