跳过正文
  1. 博客文章/

使用 Docker 快速部署 Redis 服务器

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

Redis 是内存数据库,常用于缓存、会话和消息队列。本文按 CentOS + Docker 的环境部署 Redis 5.0.4,并验证持久化、密码和基本读写。

环境准备
#

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

  • 操作系统: 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 ps、日志和 redis-cli 验证容器、认证和读写。生产环境不要把 Redis 直接暴露给所有来源,密码、网络访问和数据目录权限都需要单独收紧。

相关文章

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