docker-compose搭建redis集群(用于开发、测试环境)

前言:本文记录了如何使用docker-compose和redis官方镜像和第三方redis-trib镜像组建3主3从的redis集群并设置密码.

1、创建文件结构

[root@localhost redis]# pwd
/apps/usr/redis
[root@localhost redis]# ll
total 72
-rw-r--r--. 1 root root   426 Aug  5 16:28 docker-compose.yml
drwxr-xr-x. 2 root root    42 Aug  5 16:54 node1
drwxr-xr-x. 2 root root    42 Aug  5 16:54 node2
drwxr-xr-x. 2 root root    42 Aug  5 16:55 node3
drwxr-xr-x. 2 root root    42 Aug  5 16:55 node4
drwxr-xr-x. 2 root root    42 Aug  5 16:55 node5
drwxr-xr-x. 2 root root    42 Aug  5 16:55 node6
-rw-r--r--. 1 root root   193 Aug  5 16:57 readfirst.txt
-rw-r--r--. 1 root root 61797 May 16 00:07 redis.conf
[root@localhost redis]# 

node1--node6 各redis节点

docker-compose.yml 

redis.conf 默认redis配置

2、配置redic.conf文件

  1. http://download.redis.io/redis-stable/redis.conf下载官方redis.conf文件
  2. 拷贝到各个node文件夹下,分别配置如下内容,以端口6061为例(默认为6379
# bind 127.0.0.1 //加上注释#
protected-mode no //关闭保护模式
port 6061  //绑定自定义端口
#daemonize yes //禁止redis后台运行
pidfile /var/run/redis_6061.pid 
cluster-enabled yes //开启集群 把注释#去掉
cluster-config-file nodes_6061.conf //集群的配置 配置文件首次启动自动生成 

配置文件是最容易出问题的,这里面有一些注意事项:

  • requirepass和masterauth不能启用 

因为使用redis-trib连接集群时是不能指定密码的,如果开启了requirepass或者masterauth会导致集群连接失败,所以应该等集群创建好后再修改密码,这个后文会说

  • bind 

表示设置redis监听哪个ip,设置了监听之后,只有使用这些ip才能访问这个redis服务,不指定则默认所有ip都能访问该redis服务 
注意:这里的ip指的是redis的ip而非访问方的ip,bind并不直接限制哪些ip能够访问redis,显示ip访问是限制监听后的效果,如果想限制ip访问应使用Linux防火墙功能. 
比方说,在生产条件下的redis服务器有3个ip(外网ip 122.122.122.122,局域网ip192.128.0.1,本地ip127.0.0.1),则为了安全,bind后面只应该写局域网ip和本地ip,这样就只有局域网用户(包括本机)可以通过192.128.0.1访问redis服务,间接起到限制ip访问的作用.

  • protected-mode

作用: 
禁止公网访问redis cache,加强redis安全的
启用条件: 
没有bind IP
没有设置requirepass访问密码
解释: 
由于前面提及的原因,保护模式会开启导致无法通过公网访问,故这里需要关闭保护模式,但注意集群建好后要及时添加密码,增强安全性

  • daemonize 和 pidfile 

实测开启守护模式(daemonize yes)容器会启动失败,因为是使用docker,所以前台启动也没什么关系,pidfile的文件名和端口号一致是一个良好的习惯
 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值