Docker多台主机安装Redis集群

一、环境准备

节点IP
node110.137.85.158
node210.137.85.165
node310.137.85.41

首先我们需要在每台主机都安装 docker 和 docker-compose

二、配置每个节点的redis容器
创建用于存放redis配置文件的文件夹

mkdir /home/redis
cd /home/redis

创建docker-compose.yml

vim docker-compose.yml

Node1的配置

version: '3.4'
#这里是使用了别人配置好的集群镜像 publicisworldwide/redis-cluster
x-image:
  &default-image
    publicisworldwide/redis-cluster
x-restart:
  &default-restart
    always
x-netmode:
  &default-netmode
    host

services:
  redis1:
    image: *default-image
    network_mode: *default-netmode
    restart: *default-restart
    volumes:
      - /data/redis/master7001/data:/data
      - /data/redis/master7001/conf/redis.conf:/usr/local/etc/redis/redis.conf
      - /data/redis/master7001/log/redis.log:/root/redis/redis.log
    environment:
      - REDIS_PORT=7001

  redis2:
    image: *default-image
    network_mode: *default-netmode
    restart: *default-restart
    volumes:
      - /data/redis/slave7002/data:/data
      - /data/redis/slave7002/conf/redis.conf:/usr/local/etc/redis/redis.conf
      - /data/redis/slave7002/log/redis.log:/root/redis/redis.log
    environment:
      - REDIS_PORT=7002

Node2的配置

version: '3.4'

x-image:
  &default-image
    publicisworldwide/redis-cluster
x-restart:
  &default-restart
    always
x-netmode:
  &default-netmode
    host

services:
  redis1:
    image: *default-image
    network_mode: *default-netmode
    restart: *default-restart
    volumes:
      - /data/redis/master7001/data:/data
      - /data/redis/master7001/conf/redis.conf:/usr/local/etc/redis/redis.conf
      - /data/redis/master7001/log/redis.log:/root/redis/redis.log
    environment:
      - REDIS_PORT=7001
  redis2:
    image: *default-image
    network_mode: *default-netmode
    restart: *default-restart
    volumes:
      - /data/redis/slave7002/data:/data
      - /data/redis/slave7002/conf/redis.conf:/usr/local/etc/redis/redis.conf
      - /data/redis/slave7002/log/redis.log:/root/redis/redis.log
    environment:
      - REDIS_PORT=7002

Node3的配置

version: '3.4'

x-image:
  &default-image
    publicisworldwide/redis-cluster
x-restart:
  &default-restart
    always
x-netmode:
  &default-netmode
    host

services:
  redis1:
    image: *default-image
    network_mode: *default-netmode
    restart: *default-restart
    volumes:
      - /data/redis/master7001/data:/data
      - /data/redis/master7001/conf/redis.conf:/usr/local/etc/redis/redis.conf
      - /data/redis/master7001/log/redis.log:/root/redis/redis.log
    environment:
      - REDIS_PORT=7001
  redis2:
    image: *default-image
    network_mode: *default-netmode
    restart: *default-restart
    volumes:
      - /data/redis/slave7002/data:/data
      - /data/redis/slave7002/conf/redis.conf:/usr/local/etc/redis/redis.conf
      - /data/redis/slave7002/log/redis.log:/root/redis/redis.log
    environment:
      - REDIS_PORT=7002

启动redis容器

docker-compose up -d

启动成功以后,使用docker查看镜像

docker ps

三、配置集群

当所有节点的容器全部启动成功后,我们还需要使用redis-trib配置一下集群

docker run --rm -it --net host inem0o/redis-trib create --replicas 1 10.137.85.158:7001 10.137.85.165:7001 10.137.85.41:7001 10.137.85.165:7002 10.137.85.41:7002 10.137.85.158:7002

前三个ip地址为主节点
后三个ip地址为从节点
顺序一次对应

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值