Docker部署Redis一主二从(主机在云服务器)

本文介绍了如何在阿里云服务器上创建并运行Redis主服务,通过Docker容器管理,配置包括端口映射、数据卷挂载和安全设置。接着在本地VM虚拟机上创建Redis从机,设置为复制主机的IP地址和端口,并实现数据同步。整个过程涉及Linux系统的Docker安装和Redis的配置管理。
摘要由CSDN通过智能技术生成

主机的创建(阿里云服务器)

  1. 创建阿里云服务器(请参考官方文档)
    阿里云教程:服务器创建及Docker的基本使用
  2. 安装Docker
    Linux下安装Docker:参考官方文档(Install Docker Engine | Docker Documentation)根据自己的子系统进行安装。
  3. 运行Docker指令
redis-master:
image: redis:latest
# restart: always
ports:
- "6379:6379"
volumes:
- /myconfig/redis-master/redis.conf:/etc/redis/redis.conf
- /myconfig/redis-master/data:/data
- /myconfig/lib:/myconfig/lib
command: [ "redis-server", "/etc/redis/redis.conf", "--appendonly", "yes","--requirepass ","myredis123" ]
container_name: redis-master-service
  • redis-master::定义了一个服务名,这个名称可以用来在其他服务中引用这个服务的容器。
  • image: redis:latest:指定了要使用的 Redis 镜像名称及版本。这里使用的是最新的 Redis 镜像。
  • ports::指定了将容器内的端口映射到主机上的端口。这里将 Redis 默认的 6379 端口映射到主机上的 6379 端口。
  • volumes::指定了要挂载到容器内的卷(volume)。这里挂载了三个卷,分别是 Redis 的配置文件、数据文件以及一个自定义的 lib 目录(lib中为Redis的模块,如RedisJSON等,不需要的话可以不挂载)。
  • command::指定了容器启动时要执行的命令。这里启动了 Redis 服务器,并指定了配置文件路径、开启持久化存储、以及设置 Redis 的密码为 myredis123。
  • container_name::指定了容器的名称,这个名称可以用来直接引用容器,而不是使用自动生成的名称。

从机的创建(本地VM虚拟机)

  1. 创建虚拟机
    创建一个Linux虚拟机,选用centos系统或Ubuntu系统
  2. 安装Docker

    Linux下安装Docker:参考官方文档根据自己的子系统进行安装。

将主机的相关挂载卷从云服务器复制下来保存本地(两份)
修改文件内容
在这里插入图片描述REPLICAOF 为主机的IP地址 6379 为主机Redis服务端口
masterauth 为主机数据库的密码


3. 运行Docker命令

从机1:

docker run -d   
--name redis-slave-1-service   
-p 6380:6379  
-v /myconfig/redis-slave1/redis.conf:/etc/redis/redis.conf   -v /myconfig/redis-slave1/data:/data   
-v /myconfig/lib:/myconfig/lib  
redis:latest redis-server /etc/redis/redis.conf 
--slaveof *.*.*.* 6379 
--appendonly yes 
--requirepass myredis123

从机二:

docker run -d   
--name redis-slave-2-service   
-p 6381:6379  
-v /myconfig/redis-slave2/redis.conf:/etc/redis/redis.conf   -v /myconfig/redis-slave2/data:/data   
-v /myconfig/lib:/myconfig/lib  
redis:latest redis-server /etc/redis/redis.conf 
--slaveof *.*.*.* 6379 
--appendonly yes 
--requirepass myredis123

  • -d:以后台模式启动容器。
  • –name redis-slave-1-service:指定容器的名称。
  • -p 6380:6379:将容器内的 6379 端口映射到主机上的 6380 端口。
  • -v /myconfig/redis-slave1/redis.conf:/etc/redis/redis.conf:将 Redis 的配置文件挂载到容器内的 /etc/redis/redis.conf 路径。
  • -v /myconfig/redis-slave1/data:/data:将 Redis 的数据目录挂载到容器内的 /data 路径。
  • -v /myconfig/lib:/myconfig/lib:将自定义的 lib 目录挂载到容器内的 /myconfig/lib 路径。
  • redis:latest:指定要使用的 Redis 镜像。
  • redis-server /etc/redis/redis.conf:启动 Redis 服务器,并指定配置文件路径。
  • –slaveof ... 6379:将这个 Redis 从节点设置为连接主节点的 IP 地址为 ...,端口为 6379。
  • –appendonly yes:开启 Redis 的 AOF 持久化功能。
  • –requirepass myredis123:设置 Redis 的密码为 myredis123。

最终效果

主机:在这里插入图片描述

从机:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值