Redis Cluster 搭建指南(Docker版)

废话前言

[[Redis Cluster 搭建指南]]向大家介绍了如何通过编译源码的方式架设 Redis 集群,今天将向大家讲解如何使用 Docker 和 Docker Compose 来完成这个动作。

安装 Docker 和 Docker Compose

Docker 的官方安装文档在这里,Docker Compose 的官方安装文档在这里

简单来说,需要执行的命令如下(下列命令不要直接复制执行,请看完注解的说明后,按照实际情况执行):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# 卸载原有 Docker
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine

# 安装必要的依赖
yum install yum-utils \
device-mapper-persistent-data \
lvm2

# 配置 Docker 的安装源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

# 安装 Docker 社区版
yum install docker-ce docker-ce-cli containerd.io

# 如果要安装指定版本的 Docker,可以按照以下步骤来
# 1. 查看安装源中包含的 Docker 版本
yum list docker-ce --showduplicates | sort -r
# 输出的结果大致如下:
docker-ce.x86_64 3:18.09.1-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.0-3.el7 docker-ce-stable
docker-ce.x86_64 18.06.1.ce-3.el7 docker-ce-stable
docker-ce.x86_64 18.06.0.ce-3.el7 docker-ce-stable
# 2. 安装所需版本的 Docker
yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io

# 将指定用户添加到 docker 用户组中
gpasswd -a USER docker

# 启动 Docker 服务
systemctl start docker

# 查看 Docker 版本
docker version

# 安装 Docker Compose
# 下载安装脚本
curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 设置脚本运行权限
chmod +x /usr/local/bin/docker-compose
# 如果 /usr/local/bin 不在你的 path 变量中,还可以执行这行命令建立一个文件链接
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
# 查看 Docker Compose 版本
docker-compose version

使用 Docker Compose 启动 Redis 节点

编辑 docker-compose.yml

1
2
3
4
# 创建配置目录并编辑 docker-compose.yml
mkdir -p redis_7001 redis_7001/data
cd redis_7001
vim docker-compose.yml

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

1
2
3
4
5
6
7
8
9
10
11
12
---
version: '3'
services:
# 服务名称,docker-compose 部分命令需要指定运行的服务名称,就在这里配置
redis_7001:
image: redis:latest
container_name: redis_7001
restart: always
ports:
- 7001:6379
volumes:
- ./data:/data

常用 Docker Compose 命令:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 进入 docker-compose.yml 文件所在目录方便后续命令的执行
cd redis_7001

# 启动服务
docker-compose up -d

# 停止服务
docker-compose stop

# 重启服务
docker-compose restart

# 查看日志
docker-compose logs -f

搭建 Redis 集群

1
2
3
4
5
# 进入 Docker 容器内的 bash 环境
docker-compose exec redis_7001 bash

# 搭建集群,具体例子可以参见前一篇文章的最后一节
redis-cli --cluster create 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003