废话前言

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

安装 Docker 和 Docker Compose

Docker 的官方安装文档在这里,Docker Compose 的官方安装文档在这里
简单来说,需要执行的命令如下(下列命令不要直接复制执行,请看完注解的说明后,按照实际情况执行):

# 卸载原有 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

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

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

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

常用 Docker Compose 命令:

# 进入 docker-compose.yml 文件所在目录方便后续命令的执行
cd redis_7001

# 启动服务
docker-compose up -d

# 停止服务
docker-compose stop

# 重启服务
docker-compose restart

# 查看日志
docker-compose logs -f

搭建 Redis 集群

# 进入 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