Docker下配置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

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值