Docker 安装 Redis(一文讲透)

更新时间:

💡一则或许对你有用的小广告

欢迎加入小哈的星球 ,你将获得:专属的项目实战 / 1v1 提问 / Java 学习路线 / 学习打卡 / 每月赠书 / 社群讨论

  • 新项目:《从零手撸:仿小红书(微服务架构)》 正在持续爆肝中,基于 Spring Cloud Alibaba + Spring Boot 3.x + JDK 17...点击查看项目介绍 ;
  • 《从零手撸:前后端分离博客项目(全栈开发)》 2 期已完结,演示链接: http://116.62.199.48/ ;

截止目前, 星球 内专栏累计输出 82w+ 字,讲解图 3441+ 张,还在持续爆肝中.. 后续还会上新更多项目,目标是将 Java 领域典型的项目都整一波,如秒杀系统, 在线商城, IM 即时通讯,权限管理,Spring Cloud Alibaba 微服务等等,已有 2900+ 小伙伴加入学习 ,欢迎点击围观

前言

在现代软件开发中,Docker 安装 Redis 成为了一项基础且实用的技术操作。Redis 是一种高性能的键值存储系统,广泛应用于缓存、消息队列和实时数据分析等领域。而 Docker 则通过容器化技术简化了软件部署和环境管理。将两者结合,既能快速搭建 Redis 环境,又能确保配置的一致性,避免“在我的机器上能运行”这类常见问题。本文将从零开始,逐步讲解如何通过 Docker 安装和配置 Redis,同时穿插实际案例和代码示例,帮助读者轻松掌握这一技能。


环境准备:安装 Docker

在开始之前,需要确保本地或服务器已安装 Docker。Docker 支持 Windows、macOS 和 Linux 系统,安装步骤如下:

Windows/macOS 用户

  1. 下载 Docker Desktop:访问 Docker 官网 ,下载对应系统的安装包。
  2. 启动 Docker Desktop:安装完成后,启动 Docker 应用,确保桌面右下角(或菜单栏)的 Docker 图标显示为绿色,表示服务已运行。

Linux 用户

以 Ubuntu 为例,执行以下命令:

sudo apt-get update  

sudo apt-get install apt-transport-https ca-certificates curl software-properties-common  

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -  

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"  

sudo apt-get install docker-ce  

sudo docker --version  

验证 Docker 安装

无论何种系统,均可通过以下命令检查 Docker 是否正常运行:

docker run hello-world  

如果输出包含“Hello from Docker!”的欢迎信息,说明环境已准备就绪。


步骤一:拉取 Redis 官方镜像

Docker Hub 是官方镜像仓库,提供了 Redis 的官方镜像。使用 docker pull 命令下载镜像:

docker pull redis  

执行后,Docker 会自动从远程仓库拉取最新版本的 Redis 镜像。


步骤二:运行 Redis 容器

获取镜像后,通过 docker run 命令启动容器。基础命令格式如下:

docker run \  
  --name redis-container \  # 自定义容器名称  
  -d \                     # 后台运行  
  -p 6379:6379 \           # 映射宿主机6379端口到容器6379端口  
  redis                    # 使用的镜像名称  

参数解释

  • --name:为容器指定名称,便于后续管理。
  • -d:表示容器在后台运行,避免阻塞终端。
  • -p:端口映射规则,格式为 宿主机端口:容器端口

步骤三:验证 Redis 服务

容器启动后,可以通过以下命令检查运行状态:

docker ps  

若看到 redis-container 的状态为 Up,说明服务已启动。

连接 Redis 客户端

使用 redis-cli 连接本机的 Redis 服务:

redis-cli  

输入 ping 命令,若返回 PONG,则表示连接成功。


高级配置:持久化与数据保留

默认情况下,Docker 容器的数据是临时的,容器停止后会丢失。为了持久化数据,需配置 Volume绑定挂载

方法一:使用 Volume

docker run \  
  --name redis-persistent \  
  -d \  
  -p 6379:6379 \  
  -v redis-data:/data \  # 创建并挂载名为redis-data的Volume  
  redis redis-server --appendonly yes  
  • -v redis-data:/data:将容器的 /data 目录挂载到 Docker 管理的 Volume redis-data,数据会持久化存储。
  • --appendonly yes:启用 AOF(Append Only File)持久化策略,确保数据不丢失。

方法二:绑定挂载本地目录

docker run \  
  --name redis-local \  
  -d \  
  -p 6379:6379 \  
  -v /my/local/data:/data \  # 将本地路径挂载到容器  
  redis redis-server --dir /data  

此方法将容器的数据目录直接映射到本地文件系统,方便直接操作文件。


自定义配置:修改 Redis 配置文件

Redis 的默认配置可能无法满足需求,可通过挂载自定义配置文件实现精细化控制。

步骤

  1. 创建配置文件:在本地创建 redis.conf,添加以下内容:
port 6380          # 修改端口  
maxmemory 256mb    # 设置内存限制  
appendonly yes     # 开启AOF持久化  
  1. 启动容器时挂载配置
docker run \  
  --name redis-config \  
  -d \  
  -p 6380:6380 \  
  -v /path/to/redis.conf:/usr/local/etc/redis/redis.conf \  
  redis redis-server /usr/local/etc/redis/redis.conf  

实际案例:通过 Python 连接 Redis

编写一个简单的 Python 脚本,测试 Redis 的连接与数据操作:

import redis  

client = redis.Redis(host='localhost', port=6379, db=0)  

client.set('name', 'Alice')  

print(client.get('name').decode('utf-8'))  # 输出:Alice  

client.hset('user:1', mapping={'age': 30, 'email': 'alice@example.com'})  
print(client.hgetall('user:1'))  

常见问题与解决方案

问题1:端口冲突

若启动容器时提示 port is already allocated,说明端口被占用。可通过以下方式解决:

  • 修改 -p 参数的宿主机端口,例如 -p 6380:6379

问题2:数据未持久化

检查 Volume 挂载是否生效,或确认配置文件中是否正确设置了 appendonly yes

问题3:容器无法连接

运行以下命令查看容器日志:

docker logs redis-container  

根据日志排查配置错误或网络问题。


结论

通过 Docker 安装 Redis,开发者可以快速构建一个轻量、隔离的运行环境,避免依赖冲突并简化部署流程。无论是开发测试还是生产环境,Docker 的灵活性和可移植性都使其成为理想的选择。本文通过分步骤讲解和代码示例,帮助读者掌握了从基础安装到高级配置的完整流程。建议读者通过实际操作加深理解,并尝试将 Redis 集成到自己的项目中,体验容器化技术带来的便利性。


关键词布局说明

  • 标题直接包含“Docker 安装 Redis”
  • 正文多次自然提及“Docker”和“Redis”,强调两者结合的价值
  • 在步骤说明、案例和解决方案中融入关键词,确保内容与主题强相关

通过本文的指导,读者不仅能完成 Redis 的安装,更能理解容器化技术的核心思想,为后续学习更复杂的 Docker 应用打下坚实基础。

最新发布