手把手教你用 Docker 部署 Redis

Redis是一款开源的高性能内存数据存储系统,常用作数据库、缓存和消息代理。它支持字符串、哈希、列表等多种数据结构,凭借内存存储特性提供毫秒级响应速度,广泛应用于高并发场景下的数据快速访问。

使用Docker部署Redis具有显著优势:首先,容器化确保了环境一致性,避免因操作系统、依赖库差异导致的"在我这能跑"问题;其次,部署过程标准化,通过简单命令即可快速启动,大幅降低配置复杂度;再者,容器隔离性强,能有效避免Redis与其他应用的资源冲突;此外,便于版本管理和快速迁移,可轻松切换不同Redis版本或在不同环境间移植。

1、查看 Redis 镜像详情

你可以在 轩辕镜像 中找到 Redis 镜像页面:
👉 https://xuanyuan.cloud/r/library/redis

在镜像页面中,你会看到多种拉取方式,下面我们逐一说明如何部署。

2、下载 Redis 镜像

2.1 使用轩辕镜像登录验证的方式拉取

docker pull docker.xuanyuan.run/library/redis:latest

2.2 拉取后改名

docker pull docker.xuanyuan.run/library/redis:latest \&& docker tag docker.xuanyuan.run/library/redis:latest library/redis:latest \&& docker rmi docker.xuanyuan.run/library/redis:latest

说明:

  • docker pull:从轩辕镜像加速拉取镜像
  • docker tag:将镜像重命名为官方标准名称 library/redis:latest,后续运行命令更简洁
  • docker rmi:删除临时镜像标签,避免占用额外存储空间

2.3 使用免登录方式拉取(推荐)

基础拉取命令:

docker pull xxx.xuanyuan.run/library/redis:latest

带重命名的完整命令:

docker pull xxx.xuanyuan.run/library/redis:latest \&& docker tag xxx.xuanyuan.run/library/redis:latest library/redis:latest \&& docker rmi xxx.xuanyuan.run/library/redis:latest

说明:
免登录方式无需配置账户信息,新手可直接使用;镜像内容与 docker.xuanyuan.run 源完全一致,仅拉取地址不同。

2.4 官方直连方式

若网络可直连 Docker Hub,或已配置轩辕镜像加速器,可直接拉取官方镜像:

docker pull library/redis:latest

2.5 查看镜像是否拉取成功

docker images

若输出类似以下内容,说明镜像下载成功:

REPOSITORY     TAG       IMAGE ID       CREATED        SIZE
library/redis  latest    7614ae9453d1   3 weeks ago    120MB

3、部署 Redis

以下使用已下载的 library/redis:latest 镜像,提供三种部署方案,可根据场景选择。

3.1 快速部署(最简方式)

适合测试或临时使用,命令如下:

# 启动 Redis 容器,命名为 redis-test
# 宿主机 6379 端口映射到容器 6379 端口(Redis 默认端口)
docker run -d --name redis-test -p 6379:6379 library/redis:latest

核心参数说明:

  • --name redis-test:为容器指定名称,便于后续管理(如停止、重启)
  • -p 6379:6379:端口映射,格式为「宿主机端口:容器端口」
  • -d:后台运行容器

验证方式:
在宿主机执行:

docker exec -it redis-test redis-cli ping

输出 PONG 即表示 Redis 运行正常。

3.2 持久化部署(推荐方式,适合实际项目)

通过挂载宿主机目录,实现「数据持久化」「配置独立管理」,步骤如下:

第一步:创建宿主机目录

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

第二步:准备配置文件

新建 /data/redis/conf/redis.conf,写入简单配置:

bind 0.0.0.0
protected-mode no
port 6379
appendonly yes

说明:

  • bind 0.0.0.0:允许外部访问(生产环境可改为内网 IP)
  • appendonly yes:启用 AOF 持久化,避免数据丢失

第三步:启动容器并挂载目录

docker run -d --name redis-web \-p 6379:6379 \-v /data/redis/data:/data \-v /data/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf \library/redis:latest redis-server /usr/local/etc/redis/redis.conf

目录映射说明:

宿主机目录 容器内目录 用途
/data/redis/data /data Redis 数据持久化
/data/redis/conf/ /usr/local/etc/redis/redis.conf Redis 配置文件

3.3 docker-compose 部署(适合企业级场景)

通过 docker-compose.yml 统一管理容器配置,支持一键启动/停止。

第一步:创建 docker-compose.yml 文件

version: '3'
services:redis:image: library/redis:latestcontainer_name: redis-serviceports:- "6379:6379"volumes:- ./data:/data- ./conf/redis.conf:/usr/local/etc/redis/redis.confcommand: ["redis-server", "/usr/local/etc/redis/redis.conf"]restart: always

第二步:启动服务

docker-compose.yml 所在目录执行:

docker compose up -d

补充说明:

  • 修改配置文件后可直接 docker restart redis-service 生效
  • 停止服务命令:docker compose down
  • 查看状态:docker compose ps

4、结果验证

通过以下方式确认 Redis 服务正常运行:

4.1 客户端验证

redis-cli -h 服务器IP -p 6379
> ping
PONG

4.2 查看容器状态

docker ps

若 STATUS 列显示 Up,说明容器正常运行。

4.3 查看容器日志

docker logs redis-web

无报错信息即表示服务启动正常。

5、常见问题

5.1 无法远程连接?

排查方向:

  1. 防火墙:确认宿主机 6379 端口已开放
    ufw allow 6379/tcp
    
    firewall-cmd --add-port=6379/tcp --permanent && firewall-cmd --reload
    
  2. 配置问题:确认 redis.confbind 0.0.0.0protected-mode no

5.2 如何设置密码?

  1. redis.conf 文件中添加:
    requirepass 你的密码
    
  2. 修改后重启容器:
    docker restart redis-web
    
  3. 验证:
    redis-cli -a 你的密码 ping
    

5.3 数据丢失怎么办?

  • AOF 持久化:启用 appendonly yes(推荐)
  • RDB 快照:默认开启,可在配置文件调整快照规则
  • 外部备份:定期将 /data/redis/data 目录打包存档

5.4 容器内时区不正确?

在启动容器时,增加环境变量:

-e TZ=Asia/Shanghai

完整示例:

docker run -d -e TZ=Asia/Shanghai \--name redis-web \-p 6379:6379 \-v /data/redis/data:/data \-v /data/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf \library/redis:latest redis-server /usr/local/etc/redis/redis.conf

结尾

至此,你已掌握基于轩辕镜像的 Redis 镜像拉取与 Docker 部署全流程——从镜像下载验证,到不同场景的部署实践,再到问题排查,每个步骤都配备了完整的操作命令和说明。

  • 初学者:建议先从「快速部署」熟悉流程
  • 进阶用户:使用「持久化部署」保障数据安全
  • 企业级场景:采用「docker-compose」实现配置管理与高可用

在实际使用中,若遇到文档未覆盖的问题,可结合 docker logs 容器名 查看日志定位原因,或参考 Redis 官方文档深入学习。随着实践深入,你还可以探索 Redis 的 主从复制、哨兵模式、集群部署 等高级功能,让 Redis 更好地支撑你的业务需求。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/929150.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

悟空博弈单元(WBUC)与广域统一计算(WAUC)研究:价值共生的技术基石——声明Ai研究

悟空博弈单元(WBUC)与广域统一计算(WAUC)研究:价值共生的技术基石 一、研究背景与概述 人工智能技术的发展正经历从单纯的"知识存储"向"知行合一"的深刻范式转变 。在这一转型过程中,传统计算架…

如何快速推广自己的网站旧房装修找哪家

微信爱情指数计算器整蛊app是一款不错的爱情必备的计算器服务,让情侣们有一个很有意思的整蛊服务的App,喜欢的话快来下载吧。微信爱情指数计算器整蛊app介绍1、爱情指数计算器整蛊app是很有意思的一款爱情指数计算器软件2、操作起来也比较的简单&#xf…

掌握形式验证工具,提升芯片验证效率

在当今竞争激烈的 IC 设计行业,确保芯片功能正确且无误至关重要。形式验证工具凭借数学驱动的严谨验证方式,在超越传统仿真方法的同时,为复杂设计提供了更高信心与效率的验证路径。核心优势:为什么选择形式验证工具…

宁波专业网站制作服务济宁做网站建设的公司

来源: 人机与认知实验室摘要:有人机与无人机混合编队协同作战是未来空战的重要形式。有人机是中央指挥,而无人机直接接受有人机的指挥和控制,并进行战场态势感知、目标打击等。有人机和无人机可以看成空间上分离而逻辑上一体的巨型…

长租公寓的生存越来越难了 - 智慧园区

最近两年,受保租房大量入市以及业主直租比例回升影响,长租公寓客源被持续分流,运营压力与日俱增。 在此背景下,通过产品创新来破解获客难题,成为租赁行业发展的迫切需求。 长租公寓,亟需新一轮产品内卷。卷户型 …

天津营销网站建设公司哪家好重庆做网站建设公司排名

一早打开电脑发现代码关联失效了,目测可能跟昨天一些插件更新有关 结论 就这货,开了就没法提示代码关联,估计预览版全是BUG。 另一个坑 同期有个unity插件也是预览版,“非常好使”,当场去世。评论点开有好几个人说用…

Spring Boot中保存前端上传的图片 - 教程

Spring Boot中保存前端上传的图片 - 教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "M…

完整教程:Go语言的context

完整教程:Go语言的context2025-10-06 09:10 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; …

国外做农产品有名的网站手机端网站设计模板

《博主简介》 小伙伴们好,我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源,可关注公-仲-hao:【阿旭算法与机器学习】,共同学习交流~ 👍感谢小伙伴们点赞、关注! 《------往期经典推…

创意网站建设排行榜wordpress删除摘要

facenet是一款非常经典的神经网络模型,它可以直接学习从人脸图像到欧几里德空间的映射(直接将人脸映射到欧几里得空间)。在欧几里德空间中,距离直接对应于人脸相似性的度量。一旦这个空间产生,使用标准技术,将FaceNet嵌入作为特征…

Python包管理器 uv替代conda? - 详解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

广州建站网络推广公司大气绿色网站模板

引言 随着软件复杂度的不断增加,如何有效地管理类内部的数据变得愈发重要。属性装饰器作为一种强大的工具,不仅简化了代码,还增强了程序的可读性和可维护性。通过使用属性装饰器,我们可以轻松地实现对类属性的读取、修改以及删除…

网站开发维护报价单wordpress的源代码

一.标识符1.标识符的作用:C 标识符是用来标识变量、函数,或任何其他用户自定义项目的名称2.标识符的规范:一个标识符只能以字母 A-Z 或 a-z 或下划线 _ 开始 后跟零个或多个字母、下划线和数字(0-9),第二位开始也只能用 A-Z…

P2724 [IOI 1998 / USACO3.1] 联系 Contact 做题笔记

前面思考了好久都没想出什么,看了题解才会,我真是太菜了 思路 本题可以暴力枚举解决,但是直接暴力枚举又会超时 怎么办呢,注意到这个序列中只有 \(0\) 和 \(1\),长得像二进制。直接把二进制强压成十进制就不用一位…

教育网站平面设计53建筑人才网

目录 问题描述: 解决方法: 重要代码: 问题描述: 项目中oracle数据库需要转换为mysql,Oracle中的表字段定义为number(36,16)类型的工具自动转换为mysql的decimal(36,16)。在Oracle数据库中,number(36,16)类型的字段,使用BigDeci…

如果能重来

如果能重来如果能重来 好多事,年轻的时候不去尝试,年纪大了就更不可能去尝试,尤其是一个人。年少多去经历,是一笔财富,更是“不负少年时”。2025.10.6

深入解析:DeepSeek 赋能智能零售,解锁动态定价新范式

深入解析:DeepSeek 赋能智能零售,解锁动态定价新范式2025-10-06 08:57 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; d…

家如何网站刷网站seo排名软件

(1)什么是多态? 同类型的对象,表现出不同的形态。前者指父类,后者指不同的子类 说简单点,就是父类的同一种方法,可以在不同子类中表现出不同的状态,或者说在不同子类中可以实现不同…

实用指南:pyecharts 画一下股票的月K图(输出html)

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

深入解析:Linux运维笔记:服务器感染 netools 病毒案例

深入解析:Linux运维笔记:服务器感染 netools 病毒案例pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas&…