运维(23) docker-compose部署redis主从复制模式

本文详细介绍了如何在CentOS 7.6环境下,利用docker-compose v1.28.6和Docker 20.10.5部署Redis的主从复制模式。通过git克隆资源,配置docker-compose-redis-master-slave.yml文件,设置容器启动命令及环境变量,并映射端口和数据卷。Redis主从配置完成后,可以进行主写从读的测试验证。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、前言

本文将基于以下环境部署redis主从复制模式

  1. CentOS Linux release 7.6.1810 (Core)
  2. Docker version 20.10.5, build 55c4c88
  3. docker-compose version 1.28.6, build 5db8d86f

二、docker-compose部署redis主从复制模式

可参考 https://gitee.com/zhengqingya/docker-compose

# 准备
git clone https://gitee.com/zhengqingya/docker-compose.git
cd docker-compose/Liunx

# 当前目录下所有文件赋予权限(读、写、执行)
chmod -R 777 ./redis-master-slave

# 运行 -- 主从复制模式
docker-compose -f docker-compose-redis-master-slave.yml -p redis up -d

下面贴出相关配置文件

docker-compose-redis-master-slave.yml
version: '3'

# 网桥redis -> 方便相互通讯
networks:
  redis:

services:
  # 主
  master:
    image: registry.cn-hangzhou.aliyuncs.com/zhengqing/redis:6.0.8                    # 镜像'redis:6.0.8'
    container_name: redis-master                                                      # 容器名为'redis-master'
    restart: unless-stopped                                                                   # 指定容器退出后的重启策略为始终重启,但是不考虑在Docker守护进程启动时就已经停止了的容器
    command: redis-server /etc/redis/redis.conf --requirepass 123456 --appendonly no # 启动redis服务并添加密码为:123456,默认不开启redis-aof方式持久化配置
    environment:                        # 设置环境变量,相当于docker run命令中的-e
      TZ: Asia/Shanghai
      LANG: en_US.UTF-8
    volumes:                            # 数据卷挂载路径设置,将本机目录映射到容器目录
      - "./redis-master-slave/master/data:/data"
      - "./redis-master-slave/master/config/redis.conf:/etc/redis/redis.conf"  # `redis.conf`文件内容`http://download.redis.io/redis-stable/redis.conf`
    ports:                              # 映射端口
      - "6380:6379"
    networks:
      - redis
  # 从
  slave:
    image: registry.cn-hangzhou.aliyuncs.com/zhengqing/redis:6.0.8                   # 镜像'redis:6.0.8'
    container_name: redis-slave                                                      # 容器名为'redis-slave'
    restart: unless-stopped                                                                   # 指定容器退出后的重启策略为始终重启,但是不考虑在Docker守护进程启动时就已经停止了的容器
    command: redis-server /etc/redis/redis.conf --requirepass 123456 --appendonly no --slaveof www.zhengqingya.com 6380 --masterauth 123456 # 启动redis服务并添加密码为:123456,默认不开启redis-aof方式持久化配置,连接并认证master节点
    environment:                        # 设置环境变量,相当于docker run命令中的-e
      TZ: Asia/Shanghai
      LANG: en_US.UTF-8
    volumes:                            # 数据卷挂载路径设置,将本机目录映射到容器目录
      - "./redis-master-slave/slave/data:/data"
      - "./redis-master-slave/slave/config/redis.conf:/etc/redis/redis.conf"  # `redis.conf`文件内容`http://download.redis.io/redis-stable/redis.conf`
    ports:                              # 映射端口
      - "6381:6379"
    networks:
      - redis
redis.conf

内容可参考 http://download.redis.io/redis-stable/redis.conf

三、测试主写从读

master中写入数据,slave中查看
在这里插入图片描述

查看实例状态info replication
在这里插入图片描述


今日分享语句:
把艰辛的劳作看作是生命的必然,即使没有收获的希望也心平气和的继续。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

郑清

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值