跳过正文
  1. 博客文章/

使用 Docker 快速部署 Redis 服务器

·259 字·2 分钟·
Docker Redis Centos7 Docker
Zayn
作者
Zayn
专注 Kubernetes、CI/CD、可观测性等云原生技术栈,记录生产环境中的实战经验与踩坑复盘。
目录

Redis 是一个高性能的内存数据库,广泛用于缓存、会话存储和消息队列等场景。本文将介绍如何在 CentOS 系统上使用 Docker 容器快速部署 Redis 服务器,让您在几分钟内就能拥有一个可用的 Redis 环境。

环境准备
#

在开始之前,请确保您的系统满足以下要求:

  • 操作系统: CentOS 7 或更高版本
  • Docker 版本: 19.03.8 或更高版本
  • Redis 镜像: redis:5.0.4(本教程使用的版本)
  • 系统权限: 需要 root 权限或 sudo 权限

部署步骤
#

第一步:系统优化配置
#

为了确保 Redis 能够稳定高效地运行,我们需要先对系统进行一些优化配置:

# 配置内存分配策略和网络连接数
echo 'vm.overcommit_memory=1
net.core.somaxconn=65535' >> /etc/sysctl.conf

# 应用配置
sysctl -p

# 禁用透明大页(提高 Redis 性能)
echo never > /sys/kernel/mm/transparent_hugepage/enabled

配置说明

  • vm.overcommit_memory=1:允许系统分配超过物理内存的虚拟内存,避免 Redis 因内存不足而崩溃
  • net.core.somaxconn=65535:增加系统的最大连接数,提高并发处理能力
  • 禁用透明大页可以避免 Redis 出现延迟抖动问题

第二步:下载 Redis 镜像
#

从 Docker Hub 拉取官方的 Redis 镜像:

docker pull redis:5.0.4

第三步:创建目录结构
#

为 Redis 创建配置文件和数据存储目录:

mkdir -p /application/redis/{conf,data}

这里创建了两个目录:

  • conf:存放 Redis 配置文件
  • data:存放 Redis 数据文件(持久化数据)

第四步:配置 Redis
#

下载并配置 Redis 配置文件:

# 下载官方配置文件
wget https://raw.githubusercontent.com/antirez/redis/5.0/redis.conf -O /application/redis/conf/redis.conf

# 配置日志输出
sed -i 's/logfile ""/logfile "access.log"/' /application/redis/conf/redis.conf

# 设置访问密码(请修改为您自己的密码)
sed -i 's/# requirepass foobared/requirepass your_secure_password/' /application/redis/conf/redis.conf

# 开启数据持久化
sed -i 's/appendonly no/appendonly yes/' /application/redis/conf/redis.conf

# 允许外部访问(生产环境请谨慎使用)
sed -i 's/bind 127.0.0.1/bind 0.0.0.0/' /application/redis/conf/redis.conf

重要提示

  • 请将 your_secure_password 替换为您自己设置的强密码
  • 在生产环境中,建议限制 Redis 的访问来源,而不是绑定到 0.0.0.0

第五步:启动 Redis 容器
#

使用以下命令启动 Redis 容器:

docker run \
  -v /application/redis/conf/redis.conf:/etc/redis/redis.conf \
  -v /application/redis/data:/data \
  -p 6379:6379 \
  --restart=always \
  -m 8192M \
  --memory-swap 0 \
  --oom-kill-disable \
  --privileged=true \
  --name redis-server \
  -d redis:5.0.4 redis-server /etc/redis/redis.conf

参数说明

  • -v /application/redis/conf/redis.conf:/etc/redis/redis.conf:挂载配置文件
  • -v /application/redis/data:/data:挂载数据目录,确保数据持久化
  • -p 6379:6379:映射端口,允许外部访问
  • --restart=always:容器自动重启,确保服务高可用
  • -m 8192M:限制容器最大内存使用量为 8GB
  • --memory-swap 0:禁用交换分区,提高性能
  • --oom-kill-disable:禁用 OOM 杀死机制
  • --name redis-server:为容器指定名称

验证部署
#

容器启动后,可以通过以下方式验证 Redis 是否正常运行:

# 查看容器状态
docker ps | grep redis-server

# 查看容器日志
docker logs redis-server

# 连接测试
docker exec -it redis-server redis-cli

在 Redis 命令行中,您可以执行以下测试命令:

# 认证(如果设置了密码)
AUTH your_secure_password

# 测试连接
PING

# 设置和获取数据
SET test "Hello Redis"
GET test

总结
#

通过以上步骤,您已经成功使用 Docker 部署了一个功能完整的 Redis 服务器。这种部署方式具有以下优势:

  • 快速部署:几分钟内即可完成部署
  • 环境隔离:容器化部署避免了环境冲突
  • 易于管理:通过 Docker 命令轻松管理服务
  • 数据持久化:数据存储在宿主机,容器重启不会丢失数据

在生产环境中使用时,建议进一步优化安全配置,如设置防火墙规则、使用更复杂的密码、配置 SSL/TLS 加密等。

相关文章

Kind 部署本地k8s集群的使用记录
·238 字·2 分钟
Kubernetes Docker DevOps Centos7 Kind
Docker 部署 OpenWrt 软路由及宿主机通信配置
·370 字·2 分钟
Fix Openwrt N1 Docker-Compose Docker Openwrt
Docker 部署多网口 openWrt 软路由
·281 字·2 分钟
Openwrt Linux Centos7