docker redis 删除集群_基于Docker的Redis集群实践

单机版的Redis相信大家都比较熟悉了,这里介绍几种Redis的集群模式,并结合Docker来进行实践操作

c4b2ac77cc17e2afb206ecb8f8ff1ea3.png

abstract.png

准备工作

通过Docker下载最新的Redis镜像

# 获取redis镜像
docker pull redis

下载后续所需的相关配置文件

# 下载Redis配置文件
wget http://download.redis.io/redis-stable/redis.conf
# 下载Redis哨兵配置文件
wget http://download.redis.io/redis-stable/sentinel.conf

主从模式

众所周知,将数据放在一台服务器上风险巨大。为此Redis提供了Replication复制功能,可以将一台Redis服务器中的数据自动同步到其他多台Redis服务器中。在该模式下,存在两个角色:Master主数据库(主库)、Slave从数据库(从库)。主数据库可以进行读写操作,每次当主数据库发生变动即会自动同步至相应的从数据库中。故从数据库一般是只读的,不允许用户直接向其中写入数据。具体地,一个主数据库可以拥有多个从数据库,而一个从数据库只能拥有一个主数据库,即一对多的关系。可以看到在主从模式下,一方面降低了数据丢失的风险,另一方面通过读写分离(主库写、从库读),提高了服务器的负载能力。下面我们搭个一主一从的Redis集群进行演示

配置主库

按下图建立主库所需的相关目录,并将Redis配置文件复制到 /Users/zgh/Docker/Redis/Redis-Master/Config 路径下。如下图所示

e4f94c675d8691f79b36bfe85051673f.png

figure 1.jpeg

修改主库的Redis配置文件,修改如下

...
# 注释bind配置项
# bind 127.0.0.1

# 设为no, 关闭保护模式
protected-mode no

# 主库端口设为6379
port 6379

# 修改数据库数量, 用于验证配置文件是否生效
databases 10

# 设置工作目录
dir "/data"

# 设置Redis密码
requirepass 123456

# 设为no, 因为docker启动时会通过-d参数来让其实现后台运行
daemonize no
...

至此,就可以通过Docker来启动一个使用指定配置文件的Redis容器来作为主库了。命令如下所示

docker run \
 -v /Users/zgh/Docker/Redis/Redis-Master/Config/redis.conf:/etc/redis/redis.conf \
 -v /Users/zgh/Docker/Redis/Redis-Master/Data:/data \
 -d -p 6379:6379 \
 --name Redis-Master \
 redis redis-server /etc/redis/redis.conf

命令选项说明如下

  • -v : 将宿主机的相关目录、文件挂载到容器中。具体地,冒号:前为宿主机目录,冒号:后为容器目录
  • -d : 指定容器后台运行
  • -p : 端口映射。将宿主机的端口映射到容器的端口。具体地,冒号:前为宿主机端口,冒号:后为容器端口
  • --name : 命名容器

从库配置

至此主库Redis—Master已经配置、启动完毕,现在让我们来配置一个从库。为了保证Redis从库能够自动同步主库中的数据,需要在从库的配置文件配置主库的IP、端口信息。这里,我们即可直接使用Docker分配Redis—Master容器的IP进行容器间通信,也可以通过宿主机IP(可通过ifconfig命令获取)来进行通信。这里我们选择前者,直接获取Docker分配给Redis—Master容器的IP

# 查看 Redis-Master 容器的详细信息
docker inspect Redis-Master

下图命令结果的IPAddress即为Redis-Master容器的IP——172.17.0.2

e481893163b9d15041bd3ac8beb6d12c.png

figure 2.jpeg

好了,知道了主库的IP信息。现在我们可以来配置从库了。按下图建立从库所需的相关目录,并将Redis配置文件复制到 /Users/zgh/Docker/Redis/Redis-Slave1/Config 路径下。如下图所示

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值