【bug笔记】docker部署redis主从出现master_link_status:down

本文记录了一次使用Docker部署Redis主从结构时遇到的问题,即master_link_status:down。原因在于从服务器同时挂载数据卷,导致无法正确复制主服务器数据。解决方案是取消从服务器的数据卷挂载,确保主从通过网络同步。同时提到了Docker网络管理和容器IP固定的重要性,以及Redis主从自动同步和全量同步的机制。

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

我用docker创建了redis主从结构,主服务器bind 0.0.0.0,副本 replicaof 172.30.0.5 6379,主服务器设置了密码requirepass 123456,副本也masterauth 123456,主从都开启了持久化,还固定了docker容器中的ip地址......打开主服务器info replication,是有连接的,副本打开一连,就显示master_link_status:down了。

看日志才发现这是一个非常浅显的bug,我的副本也开启了挂载,这导致从服务器不知该读挂载数据还是复制主服务器数据。

副本注释掉挂载就正常了,因为主服务器挂载,主从间的同步,所以重启对这些副本也无影响。

docker network ls可以查看网络列表,如果当前docker-compose已经创建过网络,需要删除后再重新创建并指定ip,因为旧网络很可能已经占据了这个ip段,导致新网络无法正常创建。

固定ip这个操作非常好用:https://docs.docker.com/compose/compose-file/compose-file-v2/#ipv4_address-ipv6_address

这是我的docker-compose.yml文件:

version: '3'
services:
  redis_master:
        image: 'redis:alpine'
        ports:
            - '6380:6379'
        volumes:
            - './sailredis/0:/data'
            - './sailredisconf/0:/usr/local/etc/redis'
        command: redis-server /usr/loc

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值