docker下安装redis集群

docker-compose.yml

master:
  image: redis:4
  container_name: redis-cluster_master
  command: redis-server --port 6379
  ports:
    - "6379"
  net: "host"
slave_1:
  image: redis:4
  container_name: redis-cluster_slave_1
  command: redis-server --port 6380 --slaveof 192.168.80.19 6379
  ports:
    - "6380"
  net: "host"
slave_2:
  image: redis:4
  container_name: redis-cluster_slave_2
  command: redis-server --port 6381 --slaveof 192.168.80.19 6379
  ports:
    - "6381"
  net: "host"
sentinel_1:
  build: sentinel
  container_name: redis-cluster_sentinel_1
  environment:
    - SENTINEL_PORT=26379
    - SENTINEL_DOWN_AFTER=5000
    - SENTINEL_FAILOVER=5000
  ports:
    - "26379"
  net: "host"
sentinel_2:
  build: sentinel
  container_name: redis-cluster_sentinel_2
  environment:
    - SENTINEL_PORT=26380
    - SENTINEL_DOWN_AFTER=5000
    - SENTINEL_FAILOVER=5000
  ports:
    - "26380"
  net: "host"
sentinel_3:
  build: sentinel
  container_name: redis-cluster_sentinel_3
  environment:
    - SENTINEL_PORT=26381
    - SENTINEL_DOWN_AFTER=5000
    - SENTINEL_FAILOVER=5000
  ports:
    - "26381"
  net: "host"

Dockerfile

FROM redis:4

ADD sentinel.conf /etc/redis/sentinel.conf
RUN chown redis:redis /etc/redis/sentinel.conf
ENV SENTINEL_QUORUM 2
ENV SENTINEL_DOWN_AFTER 30000
ENV SENTINEL_FAILOVER 180000
COPY sentinel-entrypoint.sh /usr/local/bin/
RUN chmod +x /usr/local/bin/sentinel-entrypoint.sh
ENTRYPOINT ["sentinel-entrypoint.sh"]

sentinel.conf

# Example sentinel.conf can be downloaded from http://download.redis.io/redis-stable/sentinel.conf

port $SENTINEL_PORT

dir /tmp

sentinel monitor mymaster 192.168.80.19 6379 $SENTINEL_QUORUM

sentinel down-after-milliseconds mymaster $SENTINEL_DOWN_AFTER

sentinel parallel-syncs mymaster 1

sentinel failover-timeout mymaster $SENTINEL_FAILOVER

sentinel-entrypoint.sh

#!/bin/sh

sed -i "s/\$SENTINEL_QUORUM/$SENTINEL_QUORUM/g" /etc/redis/sentinel.conf
sed -i "s/\$SENTINEL_DOWN_AFTER/$SENTINEL_DOWN_AFTER/g" /etc/redis/sentinel.conf
sed -i "s/\$SENTINEL_FAILOVER/$SENTINEL_FAILOVER/g" /etc/redis/sentinel.conf
sed -i "s/\$SENTINEL_PORT/$SENTINEL_PORT/g" /etc/redis/sentinel.conf

exec docker-entrypoint.sh redis-server /etc/redis/sentinel.conf --sentinel

只要在redis-cluster目录下,依次执行以下命令即可

注意:192.168.80.19为本机ip

docker-compose build
docker-compose up -d

附上springboot的配置

application.yml

#Spring配置
spring
  redis:
    #host: 192.168.80.19
    #port: 6379
    password:
    database: 0
    sentinel:
      master: mymaster
      nodes: 192.168.80.19:26379,192.168.80.19:26380,192.168.80.19:26381

原文地址:https://www.cnblogs.com/DurantSimpson/p/11603758.html

时间: 2024-10-12 09:51:02

docker下安装redis集群的相关文章

windows下安装redis集群

前几天在自己在本机win10 电脑下部署了redis集群. 主要通过的是网上两个博客: 如何在windows下部署redis集群:https://blog.csdn.net/zsg88/article/details/73715947 redis的一些操作:https://blog.csdn.net/mlc1218559742/article/details/52640180 原文地址:https://www.cnblogs.com/tuanz/p/9359037.html

linux下安装redis集群(Master-Slave)

本文演示了redis在同一台linux上的安装及运行多个实例,并演示了主从复制,以及如何进行主从的切换. 1. 下载 $ wget http://download.redis.io/releases/redis-3.0.7.tar.gz 2. 解压缩 $ tar xzf redis-3.0.7.tar.gz 3. 编译 $ cd redis-3.0.7 $ make $make install $cp redis.conf /etc/ #该步骤将配置文件放入etc方便管理 特别说明: make

Docker快速构建Redis集群(cluster)

Docker快速构建Redis集群(cluster) 以所有redis实例运行在同一台宿主机上为例子 搭建步骤 redis集群目录清单 . ├── Dockerfile ├── make_master_slave.sh ├── run_master_slave.sh ├── compose_master_slave.sh ├── redis-trib.rb ├── master │?? ├── 7000 │?? │?? ├── data │?? │?? │?? ├── appendonly.ao

安装redis 集群

安装redis集群 第一步:安装相关依赖包 1):安装redis-cluster依赖:redis-cluster的依赖库在使用时有兼容问题,在reshard时会遇到各种错误,请按指定版本安装. (1)确保系统安装zlib,否则geminstall会报(no such file to load -- zlib)     #download:zlib-1.2.6.tar       ./configure      make  make install   或者 yum install zlib (

mac下,redis集群的安装和配置

1.安装redis,执行命令brew install redis 2.安装完成后,brew info redis,可以查看redis的安装路径 3.cd /usr/local/Cellar/redis/3.0.7 进入redis安装路径 4.在/usr/local/etc下建立cluster/7001,7002,7003目录 5.复制3步骤中的bin目录下的redis-server redis.conf 文件到7001,7002,7003目录, 修改redis.conf中端口为7000,7001

用Docker构建分布式Redis集群

[编者的话]本文介绍了如何使用Docker搭建Redis集群,很多读者都在问Docker能带来哪些实质性的好处,我想本文就是一个很好的例子.不使用Docker你也可以搭建Redis集群,那使用Docker后会有怎么样的优势了?我想可以用两个词总结:快速和复用. 海量技术文章:http://tieba.yunxunmi.com/ 云搜 http://so.yunxunmi.com/ 让搜索更简单 采用html5完全支持手机和PC 我们经常会遇到这样一个问题:当我们想进行一个完整的测试的时候,往往缺

Windows下搭建Redis集群

Redis集群:运行多个Redis实例,然后通过特定的工具,将这些实例以某种关系连接起来,形成一个Redis网络. 详细的内容可以阅读:Redis 集群教程 里面会详细介绍Redis集群的设计思想和内部结构,以及如何搭建Redis集群等. 本文主要讲述如何在Windows系统下快速搭建Redis集群: 1.下载Redis 其GitHub连接如下:https://github.com/MSOpenTech/redis/releases/ Redis提供msi和zip格式的下载文件,这里下载zip格

Linux安装redis集群

linux安装单机版redis已经在另一篇文章说过了,下边来搞集群,环境是新浪云服务器: redis3.0以后开始支持集群. 前言:redis用什么做集群? 用一个叫redis-trib.rb的ruby脚本.redis-trib.rb是redis官方推出的管理redis集群的工具,集成在redis的源码src目录下(redis-xxx/src/).是基于redis提供的集群命令封装成简单.便捷.实用的操作工具.redis-trib.rb是redis作者用ruby完成的.所以redis集群需要先安

centos下搭建redis集群

必备的工具: redis-3.0.0.tar redis-3.0.0.gem   (ruby和redis接口) 分析:     首先,集群数需要基数,这里搭建一个简单的redis集群(6个redis实例进行集群). 在一台服务器上操作,因此仅需要6个不同的端口号即可.分别是:7001.7002.7003.7004.7005.7006. 步骤:     1.上传redis-3.0.0.tar到服务器(自己指定自己的软件目录),解压redis-3.0.0.tar. 2.安装c语言环境(安装cento