0
点赞
收藏
分享

微信扫一扫

Docker下配置Redis的主从复制

RockYoungTalk 2022-04-14 阅读 42
redis

第一步:拉取镜像
docker pull redis

第二步:创建主master

docker run 
--name redis 
-p 6379:6379 
-v /home/redis/data:/data 
-v /home/redis/conf/redis.conf:/etc/redis/redis.conf 
-d redis:6.0 
redis-server /etc/redis/redis.conf

第三步:配置master的redis.conf
在/home/redis/conf目录下创建redis.conf配置文件,可从官网上拉取下来

内容需进行修改一下:

requirepass 123456  # 可以不配置
bind 0.0.0.0       #允许外部访问,127.0.0.1只允许本机访问

第四步:创建从机redis

docker run 
--name redis-slave2 
-p 6381:6379 
-v /home/redis-slave2/data:/data 
-v /home/redis-slave2/conf/redis.conf:/etc/redis/redis.conf 
-d redis:6.0 /etc/redis/redis.conf

在这里插入图片描述
第五步:配置从机的redis.conf
获取master容器的ip地址:docker inspect redis

            "Gateway": "172.17.0.1",
            "GlobalIPv6Address": "",
            "GlobalIPv6PrefixLen": 0,
            "IPAddress": "172.17.0.4",
            "IPPrefixLen": 16,
            "IPv6Gateway": "",

去到相应的路径下修改从机的redis.conf的内容如下:
vim redis.conf

replicaof master的ip master的端口号 # 例如: replicaof 172.17.0.4 6379
masterauth 123456 # 对应这主机的密码,master若没有密码则不用填写

第六步:查看配置情况
进入容器:docker exec -it redis-slave2 /bin/bash
访问: redis-cli
输入: info 可查询主从配置情况

# Replication
role:slave
master_host:172.17.0.4
master_port:6379
master_link_status:up
master_last_io_seconds_ago:2
master_sync_in_progress:0
slave_repl_offset:14
slave_priority:100
slave_read_only:1
connected_slaves:0

主机的主从配置情况如下:

# Replication
role:master
connected_slaves:2
slave0:ip=172.17.0.5,port=6379,state=online,offset=966,lag=0
slave1:ip=172.17.0.6,port=6379,state=online,offset=966,lag=1

举报

相关推荐

0 条评论