docker compose搭建redis cluster集群环境

2台机器 10.30.97.200;10.30.97.220 centos7系统 含有已安装docker

  1. 编写redis配置文件
    1.1. 创建目录及文件

分别在2台机器上执行下操作:
mkdir -p /usr/local/docker-redis/redis-cluster
cd /usr/local/docker-redis/redis-cluster
vim redis-cluster.tmpl

1.2. 编写配置文件
10.30.97.200 机器的redis-cluster.tmpl文件内容如下:

port ${PORT}
requirepass 1234
masterauth 1234
protected-mode no
daemonize no
appendonly yes
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 15000
cluster-announce-ip 10.30.97.200
cluster-announce-port ${PORT}
cluster-announce-bus-port 1${PORT}

10.30.97.220机器的redis-cluster.tmpl文件内容如下:

port ${PORT}
requirepass 1234
masterauth 1234
protected-mode no
daemonize no
appendonly yes
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 15000
cluster-announce-ip 10.30.97.220
cluster-announce-port ${PORT}
cluster-announce-bus-port 1${PORT}

在10.30.97.200 机器的 redis-cluster目录下执行以下命令:

for port in `seq 6371 6373`;do \
mkdir -p ${port}/conf \
&& PORT=${port} envsubst < redis-cluster.tmpl > ${port}/conf/redis.conf \
&& mkdir -p ${port}/data;\
done

在10.30.97.220 机器的 redis-cluster目录下执行以下命令:

for port in `seq 6374 6376`;do \
mkdir -p ${port}/conf \
&& PORT=${port} envsubst < redis-cluster.tmpl > ${port}/conf/redis.conf \
&& mkdir -p ${port}/data;\
done
  1. 编写docker compose模板文件
    在10.30.97.200的机器的 /usr/local/docker-redis/redis-cluster 目录下创建 docker-compose.yml文件并编辑
version: "3.8"

services:
  redis-6371: #服务名称
    image: redis
    container_name: redis-6371
    restart: always
    network_mode: "host"
    volumes:
          - /usr/local/docker-redis/redis-cluster/6371/conf/redis.conf:/usr/local/etc/redis/redis.conf
          - /usr/local/docker-redis/redis-cluster/6371/data:/data
    command: redis-server  /usr/local/etc/redis/redis.conf

  redis-6372: #服务名称
    image: redis
    container_name: redis-6372
    restart: always
    network_mode: "host"
    volumes:
          - /usr/local/docker-redis/redis-cluster/6372/conf/redis.conf:/usr/local/etc/redis/redis.conf
          - /usr/local/docker-redis/redis-cluster/6372/data:/data
    command: redis-server  /usr/local/etc/redis/redis.conf

  redis-6373: #服务名称
    image: redis
    container_name: redis-6373
    restart: always
    network_mode: "host"
    volumes:
          - /usr/local/docker-redis/redis-cluster/6373/conf/redis.conf:/usr/local/etc/redis/redis.conf
          - /usr/local/docker-redis/redis-cluster/6373/data:/data
    command: redis-server  /usr/local/etc/redis/redis.conf

在10.30.97.220机器上的 /usr/local/docker-redis/redis-cluster 目录下创建 docker-compose.yml文件并编辑

version: "3.8"

services:
  redis-6374: #服务名称
    image: redis
    container_name: redis-6374
    restart: always
    network_mode: "host"
    volumes:
          - /usr/local/docker-redis/redis-cluster/6374/conf/redis.conf:/usr/local/etc/redis/redis.conf
          - /usr/local/docker-redis/redis-cluster/6374/data:/data
    command: redis-server  /usr/local/etc/redis/redis.conf

  redis-6375: #服务名称
    image: redis
    container_name: redis-6375
    restart: always
    network_mode: "host"
    volumes:
          - /usr/local/docker-redis/redis-cluster/6375/conf/redis.conf:/usr/local/etc/redis/redis.conf
          - /usr/local/docker-redis/redis-cluster/6375/data:/data
    command: redis-server  /usr/local/etc/redis/redis.conf

  redis-6376: #服务名称
    image: redis
    container_name: redis-6376
    restart: always
    network_mode: "host"
    volumes:
          - /usr/local/docker-redis/redis-cluster/6376/conf/redis.conf:/usr/local/etc/redis/redis.conf
          - /usr/local/docker-redis/redis-cluster/6376/data:/data
    command: redis-server  /usr/local/etc/redis/redis.conf
  1. 分别在两台机器上执行docker-compose.yml文件
    docker-compose up -d
    在这里插入图片描述
  2. 创建redis cluster集群
    随便进入一个容器节点,并进入 /usr/local/bin/ 目录:
docker exec -it redis-6371 bash
cd /usr/local/bin/

接下来我们就可以通过以下命令实现redis cluster集群的创建

redis-cli -a 1234 --cluster create 10.30.97.200:6371  10.30.97.200:6372  10.30.97.200:6373  10.30.97.220:6374  10.30.97.220:6375  10.30.97.220:6376  --cluster-replicas 1
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值