Docker Compose 快速搭建 Redis 单机版

发布时间 2023-12-17 17:38:24作者: 乔京飞

Redis 是非常流行的缓存中间件,其具有功能强大和部署简单的优势,我们在 CentOS 上使用 yum 就能够在线安装 Redis。之所以要介绍使用 Docker 进行容器化部署 Redis ,主要原因是当前容器化部署是主流,而且能够保障服务器文件系统的整洁。

本篇博客主要介绍如何使用 docker-compose 快速部署单机版 Redis (仅仅只是部署 Redis),之前的博客已经介绍过如何连接和操作 Redis ,因此这里就不再赘述了。后面也会介绍如何部署和使用 Redis 集群。


一、环境准备

我的虚拟机操作系统是 CentOS7(ip 地址是 192.168.136.128),已经安装好了 docker 和 docker-compose

有关 docker 和 docker-compose 的安装,可以参考我的博客:https://www.cnblogs.com/studyjobs/p/17460227.html

另外由于 docker-compose 可执行文件的下载,需要访问 GitHub ,国内访问速度很慢,也可能无法打开。建议你下载 Watt Toolkit 加速器,它能够让你在任何时候都轻松打开 GitHub 网站,非常好用。

Watt Toolkit 加速器的下载地址为:https://steampp.net/download

下载完成后,运行界面如下图所示,只要在加速器上,勾选 GitHub 然后点击【一键加速】,即可轻松打开 GitHub。

image


二、搭建过程

在虚拟机上新建一个目录 /app/redis ,在其下面创建一个目录 data,用于存放 redis 的备份数据。

在 /app/redis 的目录下,我们创建 2 个文件,一个是 redis.conf 配置文件,一个是 docker-compose.yml 启动文件。

image

对于 redis.conf 配置文件,内容如下所示:

# 开启保护
protected-mode no

# 绑定监听IP地址
bind 0.0.0.0

# 自定义密码
requirepass root

# 启动端口
port 6379

# redis 默认就开启 rdb 全量备份,以下是默认的备份触发机制
# 900s内至少一次写操作则执行bgsave进行RDB持久化
save 900 1
save 300 10
save 60 10000

# 是否压缩 rdb 备份文件,默认是压缩
# 如果 redis 承载的数据量非常大的话,建议不要压缩
# 因为压缩过程中需要耗费大量 cpu 和内存资源,磁盘相对而言比较廉价
rdbcompression yes

# rdb 备份的文件名
dbfilename dump.rdb

# Redis 备份文件存储目录,注意:该路径是 docker 容器内的路径
dir /data

# 是否开启 aof 增量备份功能,默认是否
appendonly yes
# AOF文件的名称,这里使用默认值
appendfilename appendonly.aof
# aof 增量备份的策略,这里是每秒钟一次,将累积的写命令持久化到硬盘中
appendfsync everysec

对于单机版的 Redis 来说,一般情况下会同时使用 rdb 和 aof 两种备份机制,对比图如下:

image

对于 docker-compose.yml 启动文件的内容,如下所示:

version: "3.5"
services:
  redis:
    image: redis
    container_name: redis
    restart: always
    privileged: true
    ports:
      - 6379:6379
    volumes:
      - /app/redis/data:/data
      - /app/redis/redis.conf:/etc/redis.conf
    command:
      redis-server /etc/redis.conf

最后在 docker-compose.yml 所在目录,运行 docker-compose up -d 即可启动 Redis

image

使用 RDM 客户端工具连接部署好的 Redis :

image

在 RDM 客户端工具上,可以打开控制台,编写操作 Redis 的命令进行测试:

image

OK,这样就说明已经部署成功了,非常简单。