环境
两个centos容器,里面执行yum安装redis、supervior
---作为主服务器 使用镜像是 centos 7
docker run -it --name centos-redis centos:lastet bash
yum -y install epel-release redis supervior
---作为从服务器
docker run -it --name redis-s1 centos:lastet bash
yum -y install epel-release redis supervior
进入容器中---主服务器
mkdir /etc/redis
cd /etc/redis
cp /etc/redis.conf /etc/redis
mv redis.conf 6379.conf
----------------------------------------
bind 0.0.0.0
----------------------------
需要执行重启redis服务
编写守护supervisor 守护redis
vim /etc/supervisord.d
[program:redis-6379]
command=/usr/bin/redis-server /etc/redis/6379.conf
autostart=true
autorestart=true
startsecs=10
startretries=3
exitcodes=0,2
stopsignal=QUIT
stopwaitsecs=1
user=root
log_stdout=true
log_stderr=false
logfile=/var/log/redis-6379.log
logfile_maxbytes=1MB
logfile_backups=3
[include]
files = relative/directory/*.ini
执行命令启动redis
#启动服务
supervisord
#查看状态
supervisorctl
image.png
进入从容器中
配置跟主容器一样 也需要下载redis、supervisor进行修改配置文件
添加一条命令显示这个容器是从服务器
vi /etc/redis/6379.conf
# slaveof <masterip> <masterport>
slaveof 172.17.0.2 6379
#这个主机ip是主服务器的ip地址
// 配置此服务器只提供读取操作 默认是yes状态
slave-read-only yes
配置完从服务器就可以启动服务了
然后测试
redis-cli -h 172.17.0.2
#从服务器连接主服务器
image.png
redis-cli -h 172.17.0.3
#主服务器连接从服务器
image.png
现在我们要在主服务器上开始记录数据了
- 首先我们需要在从服务器上进行如下操作
slaveof 172.17.0.2 6379
image.png
- 接着就可以在主服务器操作了
set n 100
image.png
image.png
这样我们就能看到主服务器上有的 在从服务器上也能看到了
网友评论