在大型的系统中数据库为整个系统的基础设施。在系统的设计中尤为重要,一般在大型的项目的中redis的配置都不是单点的。一般设计redis的高可用集群架构等。如果在生产环境中构建一个的这样的架构采用原生的安装配置方式比较复杂,本博文使用docker的方式来是生产环境下的redis高可用集群环境。帮助大家在生产环境中能够快速的获取redis集群的一种方式。
- protected-mode no
- daemonize no
- port $REDIS_PORT
- appendonly yes
- cluster-enabled yes
- cluster-config-file nodes-6379.conf
- cluster-node-timeout 15000
- cluster-announce-ip 20.1.206.131 # 你的本机的ip
- FROM redis:5.0.12
- COPY redis.conf /usr/local/etc/redis/redis.conf
- COPY start.sh /start.sh
- RUN chmod 777 /start.sh
sed -i 's/$REDIS_PORT/'+$REDIS_PORT+'/g' /usr/local/etc/redis/redis.conf
- version: '2'
-
- services:
- redis-9000:
- image: redis-cluster:latest
- container_name: redis-9000
- network_mode: host
- restart: always
- environment:
- - REDIS_PORT=9000
- privileged: true
-
- redis-9001:
- image: redis-cluster:latest
- container_name: redis-9001
- network_mode: host
- restart: always
- environment:
- - REDIS_PORT=9001
- privileged: true
-
- redis-9002:
- image: redis-cluster:latest
- container_name: redis-9002
- network_mode: host
- restart: always
- environment:
- - REDIS_PORT=9002
- privileged: true
-
- redis-9003:
- image: redis-cluster:latest
- container_name: redis-9003
- network_mode: host
- restart: always
- environment:
- - REDIS_PORT=9003
- privileged: true
-
- redis-9004:
- image: redis-cluster:latest
- container_name: redis-9004
- network_mode: host
- restart: always
- environment:
- - REDIS_PORT=9004
- privileged: true
-
- redis-9005:
- image: redis-cluster:latest
- container_name: redis-9005
- network_mode: host
- restart: always
- environment:
- - REDIS_PORT=9005
- privileged: true
-
- redis-9006:
- image: redis-cluster:latest
- container_name: redis-9006
- network_mode: host
- restart: always
- environment:
- - REDIS_PORT=9006
- privileged: true
- 1 、docker build -t redis-cluster . # 构建redis 镜像 , 注意命令后面有个小数点,表示当前目录查找Dockerfile
-
- 2、docker-compose up -d
-
- # 启动集群,注意改成自己的虚拟机的ip
- 3、docker run -it --rm redis:5.0.12 redis-cli -h 本机ip -p 7000 --cluster create 本机ip:7000 本机ip:7001 本机ip:7002 本机ip:7003 本机ip:7004 本机ip:7005 --cluster-replicas 1
-
-
- 4、查看集群信息 docker run -it --rm redis:5.0.12 redis-cli -h 本机ip -p 7000 info replication