news 2026/8/29 10:13:00

Docker 完整安装 Redis

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Docker 完整安装 Redis

Docker 完整安装 Redis,包含镜像拉取、基础启动、带持久化 / 密码 / 指定端口(6379)的生产环境启动,以及验证、常用操作等内容,兼顾快速测试和生产使用。

一、前置条件

确保你的服务器 / 本地环境已安装 Docker(若未安装,可参考以下快速安装命令,以 CentOS 为例,Ubuntu/Mac/Windows 可对应调整):

# CentOS Docker 快速安装yuminstall-y yum-utils yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo yuminstall-y docker-ce docker-ce-cli containerd.io# 启动Docker并设置开机自启systemctl startdockersystemctlenabledocker# 验证Docker是否安装成功docker--version

二、步骤 1:拉取 Redis Docker 镜像

首先从 Docker Hub 拉取官方 Redis 镜像(可指定版本,如7.0,或使用latest获取最新版):

# 拉取最新版Redis镜像dockerpull redis:latest#可选:拉取指定版本(推荐生产环境使用固定版本,更稳定)dockerpull redis:7.0# 查看已拉取的Redis镜像dockerimages|grepredis

三、步骤 2:两种启动方式(按需选择)

方式 1:快速启动(测试 / 临时使用,无持久化,无密码)

适合快速测试 Redis 功能,容器删除后数据丢失,命令简单:

dockerrun -d\--name redis-test\-p6379:6379\redis:latest

参数说明:
-d:后台运行容器
–name redis-test:自定义容器名称(方便后续操作)
-p 6379:6379:端口映射(本地 6379 ↔ 容器 6379)

方式 2:生产环境启动(带持久化 + 密码 + 6379 端口 + 开机自启)

这是推荐方式,数据持久化到本地目录,带访问密码,容器异常自动重启,整合之前的所有配置:

# 第一步:创建本地目录(存放配置和持久化数据)# 创建配置目录和数据目录,避免容器删除后数据丢失mkdir-p /usr/local/redis/conf /usr/local/redis/data 第二步:创建 / 配置 Redis 配置文件bash运行# 快速创建并编辑redis.conf配置文件vi/usr/local/redis/conf/redis.conf 将以下配置复制到文件中(包含持久化、密码、端口、允许外部访问等核心配置): ini# 核心配置port6379# 容器内Redis监听6379端口(默认,可自定义)requirepass your_redis_password# 替换为你的自定义密码(如123456@Redis)protected-mode no# 关闭保护模式(配合bind 0.0.0.0允许外部访问)daemonize no# 关闭后台运行(Docker容器内必须关闭,否则容器会立即退出)bind0.0.0.0# 允许所有IP访问Redisdir/data# 持久化文件存放目录(与容器挂载目录对应)# RDB持久化配置(默认开启,优化参数)save9001save30010save6010000stop-writes-on-bgsave-erroryesrdbcompressionyesdbfilename dump.rdb# AOF持久化配置(开启,更高数据安全性)appendonlyyesappendfilename"appendonly.aof"appendfsync everysec auto-aof-rewrite-percentage100auto-aof-rewrite-min-size 64mb

第三步:Docker 启动 Redis(完整参数)

dockerrun -d --name redis-prod --restart always -p6379:6379 -v /usr/local/redis/conf/redis.conf:/etc/redis/redis.conf -v /usr/local/redis/data:/data redis:latest redis-server /etc/redis/redis.conf

参数详解:
–restart always:容器开机自启,异常退出时自动重启(生产环境必备)
第一个-v:本地配置文件挂载到容器内,确保配置永久生效
第二个-v:本地数据目录挂载到容器/data,持久化文件(dump.rdb/appendonly.aof)保存在本地
redis-server /etc/redis/redis.conf:指定使用挂载的配置文件启动 Redis

四、步骤 3:验证 Redis 是否安装启动成功

1. 查看容器运行状态

# 查看Redis容器是否在运行dockerps|grepredis# 若未运行,查看日志排查问题# docker logs redis-prod(替换为你的容器名)

2. 连接 Redis 并验证功能

# 方式1:进入容器内连接Redisdockerexec-it redis-prod redis-cli# 替换为你的容器名(如redis-test/redis-prod)# 方式2:本地直接连接(已端口映射6379)redis-cli -h127.0.0.1 -p6379验证密码(仅生产环境启动方式需验证)bash运行# 连接后执行命令,未认证会报错settest_key"docker_redis"# 提示:(error) NOAUTH Authentication required.# 输入密码认证auth your_redis_password# 替换为你设置的密码,返回OK即认证成功# 验证数据写入settest_key"docker_redis"get test_key# 返回"docker_redis",说明正常可用3. 验证持久化(仅生产环境启动方式需验证)bash运行# 1. 写入测试数据后,停止并删除Redis容器dockerstop redis-proddockerrmredis-prod# 2. 用相同命令重新启动容器dockerrun -d --name redis-prod --restart always -p6379:6379 -v /usr/local/redis/conf/redis.conf:/etc/redis/redis.conf -v /usr/local/redis/data:/data redis:latest redis-server /etc/redis/redis.conf# 3. 重新连接并查看数据dockerexec-it redis-prod redis-cli auth your_redis_password get test_key# 返回"docker_redis",说明持久化生效五、Redis 常用 Docker 操作bash运行# 启动Redis容器dockerstart redis-prod# 停止Redis容器dockerstop redis-prod# 重启Redis容器dockerrestart redis-prod# 查看Redis容器日志dockerlogs -f redis-prod# -f 实时查看日志# 删除Redis容器(删除前需先停止)dockerstop redis-proddockerrmredis-prod# 进入Redis容器内部(非客户端)dockerexec-it redis-prod /bin/bash

总结

核心流程:安装Docker → 拉取Redis镜像 → 选择启动方式(测试/生产) → 验证功能
快速测试:使用无持久化命令,一键启动,适合临时使用;
生产环境:必须挂载配置 / 数据目录(-v参数)、设置密码、开启自启(–restart always),确保数据不丢失、服务稳定;
关键验证:容器运行状态 → 密码认证 → 数据写入与持久化恢复,确保所有功能正常。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/29 10:12:54

基于sbit的IO口控制:嵌入式开发实战案例

点亮第一个LED之后:用 sbit 把51单片机的IO控制玩出效率与优雅 你有没有过这样的经历?在调试一个简单的LED闪烁程序时,明明逻辑没错,可就是发现响应慢半拍;或者在一个多任务系统里,某个继电器莫名其妙地误…

作者头像 李华
网站建设 2026/8/27 17:08:58

使用u8g2显示WiFi连接状态:快速理解教程

用一块OLED屏看清ESP32的Wi-Fi心跳:u8g2实战指南你有没有过这样的经历?把一个基于ESP32的物联网设备部署到墙角、屋顶甚至户外,上电后只靠一盏闪烁的LED判断它是否连上了Wi-Fi。红灯快闪是“正在连接”?慢闪是“认证失败”&#x…

作者头像 李华
网站建设 2026/8/29 3:38:55

HTTP Shortcuts终极指南:Android自动化神器从入门到精通

HTTP Shortcuts终极指南:Android自动化神器从入门到精通 【免费下载链接】HTTP-Shortcuts Android app to create home screen shortcuts that trigger arbitrary HTTP requests 项目地址: https://gitcode.com/gh_mirrors/ht/HTTP-Shortcuts 在Android设备上…

作者头像 李华
网站建设 2026/8/25 23:19:10

ARM处理器上ioctl中断控制项目应用示例

用 ioctl 打通用户态与内核的“任督二脉”:ARM中断控制实战全解析 你有没有遇到过这样的场景?一个简单的GPIO按键,程序却要不断轮询它的电平状态。CPU明明没在干啥大事,负载却居高不下;想快速响应用户按下动作&#…

作者头像 李华
网站建设 2026/8/21 21:58:57

为什么工业界都在用YOLO做目标检测?答案在这里

为什么工业界都在用YOLO做目标检测?答案在这里 在一条每分钟处理上千件包裹的物流分拣线上,摄像头必须在毫秒级时间内判断出每个物体的位置和类别——是手机、书籍还是易碎品?稍有延迟,整个系统就会积压停滞。类似场景遍布现代工厂…

作者头像 李华
网站建设 2026/8/29 10:04:03

MMDrawerController终极指南:iOS侧边抽屉导航完全解决方案

MMDrawerController终极指南:iOS侧边抽屉导航完全解决方案 【免费下载链接】MMDrawerController A lightweight, easy to use, Side Drawer Navigation Controller 项目地址: https://gitcode.com/gh_mirrors/mm/MMDrawerController 想要为你的iOS应用添加现…

作者头像 李华