Docker多台主机安装Redis集群

2019-11-29  本文已影响0人  CallMe兵哥

1. 环境准备

mkdir /home/redis
cd /home/redis

​ 2.2.2)创建docker-compose.yml,使用docker-compose安装创建

#创建docker-compose.yml
touch docker-compose.yml
# 编辑文件
vim docker-compose.yml

docker-compose.yml文件的内容如下:

这里的配置文件表示,我们三个redis,2个从,1个主。

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/slave7001/data:/data
  - /data/redis/slave7001/conf/redis.conf:/usr/local/etc/redis/redis.conf
  - /data/redis/slave7001/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

 redis3:
  image: *default-image
  network_mode: *default-netmode
  restart: *default-restart
  volumes:
  - /data/redis/master7003/data:/data
  - /data/redis/master7003/conf/redis.conf:/usr/local/etc/redis/redis.conf
  - /data/redis/master7003/log/redis.log:/root/redis/redis.log
  environment:
  - REDIS_PORT=7003

​ 2.2.3)使用docker-compose创建容器

#后台启动redis
docker-compose up -d
#启动成功以后,使用docker查看镜像
docker ps
启动成功

2.3 配置集群

以上只是启动了redis服务,还没有加上集群,我们运行下面的命令配置上集群

docker run --rm -it --net host inem0o/redis-trib create --replicas 1 192.168.3.92:7001 192.168.3.92:7002 192.168.3.93:7003 192.168.3.93:7001 192.168.3.93:7002 192.168.3.92:7003

前面这三个是主服务:192.168.3.92:7001 192.168.3.92:7002 192.168.3.93:7003

后面这三个是从服务,与主服务的顺序一一对应:192.168.3.93:7001 192.168.3.93:7002 192.168.3.92:7003

因为前面我们没有下载redis-trib,这里会自动下载这个镜像。

集群启动成功后,我们进行简单测试,我们选择192.168.3.93进行测试

#查看容器
docker ps
#进入容器
docker exec -it d47cf9412a9b  /bin/bash
#进入redis客户端,注意集群模式,连接时需要输入 -c
redis-cli -h 127.0.0.1 -p 7002 -c
#连接成功以后,设置值
set 1 1

如下图所示,我们可以看到设置的值分到槽位9842,端口7003,不存储我在我们登陆的7002端口。表示集群已成功安装,并且运行正常。

集群验证
上一篇 下一篇

猜你喜欢

热点阅读