一、环境准备
节点 | 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地址为从节点
顺序一次对应