【redis】基于docker搭建redis主从(详细步骤)

阅读须知:

本文主要内容为 Docker 搭建 Redis 主从,想要了解如何在 Docker 安装 Redis 的同学请阅读前文【Redis】基于Docker安装Redis(详细步骤)
注:本文中提到的前文均指上述文章。本文是在前文的基础上进行的 Redis 主从复制,建议同学们按照前文步骤从头开始一步步操作,可以避免一些不必要的报错。

操作步骤

1. 创建 slave 对应目录

  1. /usr/local/software/redis 目录下,输入 mkdir -p 6380/conf 6380/data 6380/log,新建多级目录(大家可根据自己的情况选择自己对应的路径创建)。
  2. 输入tree,查看多级目录结构。

演示图例如下:

【redis】基于docker搭建redis主从(详细步骤)_第1张图片
【redis】基于docker搭建redis主从(详细步骤)_第2张图片

2. 设置日志读写权限

  1. 6380/log 目录下,输入touch redis.log 新建日志文件 “redis.log”。
  2. 输入chmod 777 redis.log 设置日志文件读写权限。

演示图例如下:

【redis】基于docker搭建redis主从(详细步骤)_第3张图片

3. 上传/拷贝配置文件

  1. 上传文件:这一步可以选择上传或拷贝配置文件,跟着前文一步步搭建过来的同学建议拷贝之前的配置文件,如果之前没有上传过配置文件的同学请前往文章顶部下载对应资源。
  2. 拷贝文件:根据前文步骤,在 usr/local/software/redis/6379/conf 目录下已有配置文件,只需将其拷贝到 6380/conf 目录即可。
    a. 输入 cd usr/local/software/redis/6379/conf ,进入指定目录。
    b. 输入 cp redis.conf ../../6380/conf,拷贝 redis.conf 配置文件。
  3. 检查是否完成拷贝。

演示图例如下:

【redis】基于docker搭建redis主从(详细步骤)_第4张图片
【redis】基于docker搭建redis主从(详细步骤)_第5张图片

4. 查询 master 的 ip

  1. 输入 docker inspect redis_6379 |grep IPA ,查询 master 的 ip 地址。
    细心的同学可以发现,这里的 ip 地址就是我们依照前文设置的 redis 的 ip地址。

演示图例如下:

【redis】基于docker搭建redis主从(详细步骤)_第6张图片

5. 修改配置文件

  1. 输入 vim redis.conf ,进入编辑器界面。
  2. 按下 : ,输入 set nu ,显示行号。
  3. 修改479行的内容,这里的 ip 是上一步我们查询出来的 ip,每个人根据自己的 ip 来修改,如下图所示。
  4. 480行,添加 slave-read-only no,如下图所示。
  5. 修改1255行的内容,如下图所示。

演示图例如下:

【redis】基于docker搭建redis主从(详细步骤)_第7张图片
【redis】基于docker搭建redis主从(详细步骤)_第8张图片

6. 创建容器

输入对应指令,创建运行 redis slave 的容器。

docker run -it \
--name redis_6380 \
--privileged \
-p 6380:6379 \
--network my_docker_net \
--ip 172.18.12.11 \
-v /usr/local/software/redis/6380/conf/redis.conf:/usr/local/etc/redis/redis.conf \
-v /usr/local/software/redis/6380/data/:/data \
-v /usr/local/software/redis/6380/log/redis.log:/var/log/redis.log \
-d redis \
/usr/local/etc/redis/redis.conf

演示图例如下:

【redis】基于docker搭建redis主从(详细步骤)_第9张图片

7. 查看日志文件

  1. 进入 6380/log 目录下,输入 cat redis.log,查看日志信息。

演示图例如下:

【redis】基于docker搭建redis主从(详细步骤)_第10张图片

8. 进入容器,运行Redis客户端

  1. 输入 docker exec -it redis_6380 bash,进入容器。
  2. 输入 redic-cli,运行 redis 客户端。
  3. 输入 info replication,查看对应信息。

演示图例如下:【redis】基于docker搭建redis主从(详细步骤)_第11张图片

以同样的方法进入 master 容器:
1. 输入 docker exec -it redis_6379 bash,进入容器。
2. 输入 redis-cli,运行 redis 客户端。
3. 输入 info replication,查看对应信息。

演示图例如下:

【redis】基于docker搭建redis主从(详细步骤)_第12张图片

至此,基于 Docker 搭建 Redis 的主从复制已成功完成!小伙伴们可根据自身需求,按照步骤继续建立更多数量的 slave 。

你可能感兴趣的:(redis,docker,数据库)