Docker搭建Redis集群环境
使用docker可以很方便地搭建redis集群环境,本次我们使用一台虚拟机,在上面跑三个基于docker的redis服务,这三个redis的关系为一主二从,,如需要搭建更多关系的集群(单机、主从、哨兵),可自行参考redis的配置实现,本文侧重于基于docker搭建环境的实现。
宿主机器文件资源准备
在宿主机器上面建立/data/redis目录,目录下面再建立7000、7001、7002三个目录,这三个目录里面分别建立data和config目录,data目录用于存储redis持久化数据,config目录存储redis.conf配置,建立好后的目录结构如下:
![]()
获取redis.conf配置文件
wget -c http://download.redis.io/redis-stable/redis.conf
Redis容器创建
编写docker-compose.yaml文件:
version: '2'
services:
redis7000:
image: daocloud.io/library/redis:4.0.0
ports:
- "7000:6379"
restart: always
command:
- /bin/bash
- -c
- redis-server /usr/local/etc/redis/redis.conf --appendonly yes --requirepass 123456
volumes:
- /data/redis/7000/config:/usr/local/etc/redis
- /data/redis/7000/data:/data
tty: true
networks:
redisnetwork:
ipv4_address: 172.20.0.2
redis7001:
image: daocloud.io/library/redis:4.0.0
ports:
- "7001:6379"
command:
- /bin/bash
- -c
- redis-server /usr/local/etc/redis/redis.conf --appendonly yes --masterauth 123456 --slaveof redis7000 6379 --requirepass 123456
restart: always
volumes:
- /data/redis/7001/config:/usr/local/etc/redis
- /data/redis/7001/data:/data
tty: true
networks:
redisnetwork:
ipv4_address: 172.20.0.3
redis7002:
image: daocloud.io/library/redis:4.0.0
ports:
- "7002:6379"
command:
- /bin/bash
- -c
- redis-server /usr/local/etc/redis/redis.conf --appendonly yes --masterauth 123456 --slaveof redis7000 6379 --requirepass 123456
restart: always
volumes:
- /data/redis/7002/config:/usr/local/etc/redis
- /data/redis/7002/data:/data
tty: true
networks:
redisnetwork:
ipv4_address: 172.20.0.4
networks:
redisnetwork:
ipam:
config:
- subnet: 172.20.0.0/16
gateway: 172.20.0.1
启动容器验证集群
启动容器后验证集群,在7000节点存入数据后,在7001与7002节点均能查询到数据,搭建就完成了。
springboot连接集群配置:
spring.redis.database=0
spring.redis.cluster.nodes=192.168.126.134:7000,192.168.126.134:7001,192.168.126.134:7002
spring.redis.pool.max-active=8
spring.redis.pool.max-wait=-1
spring.redis.pool.max-idle=8
spring.redis.pool.min-idle=0
spring.redis.timeout=0
网友评论