Docker多台主机安装Redis集群

一、环境准备

节点 IP
node1 10.137.85.158
node2 10.137.85.165
node3 10.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地址为从节点
顺序一次对应

猜你喜欢

转载自blog.csdn.net/bluerebel/article/details/113737004