摘要
Docker CE Version:20.10.10
Centos Version:CentOS Linux release 7.9.2009 (Core)
# 一:安装Redis
具体可查看 安装Redis
# 二:主节点
# 2.1 新建文件夹
新建 data
和 conf
两个文件夹,位置随意。
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
2
3
4
5
# 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
- 获取主节点的 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
2
3
4
5
6
7
8
9
10
# 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
2
3
4
5
# 3.4 验证
通过 docker ps
查看启动状态是否成功
# 四:容器终端
执行
docker exec -it redis-master redis-cli
命令,进入终端。通过
auth qazwsx123edc
进行登陆。输入
info Replication
查看主从状态
同样再查看两个从节点主从状态
注意如果出现该错误: (error) NOAUTH Authentication required.
说明没有输入密码进行验证,请输入:auth 密码
- 在主节点写入,验证从节点是否同步,同时验证从节点是否只有只读权限
# 五:常见问题
具体可查看 常见问题