[TOC]

🐳 Docker + Redis 快速上手指南(Windows 用户)

本指南教你如何用 Docker 在 Windows 上一键启动 Redis,并持久化数据,适合零基础用户。


✅ 前提条件

  1. 已安装 Docker Desktop
  2. Docker Desktop 已启动
    • 打开开始菜单 → 搜索 “Docker Desktop” 并启动
    • 等待系统托盘(右下角)出现 鲸鱼图标 🐳(不再旋转)
  3. 使用普通权限终端
    • 不要“以管理员身份运行” PowerShell 或 CMD!

🔧 第一步:创建项目目录

打开终端(Win+R → 输入 cmd → 回车),执行:

1
2
mkdir my-redis
cd my-redis

💡 路径示例:E:\my-redis,可放在任意盘符。


🔧 第二步:创建 docker-compose.yml

my-redis 文件夹中,新建一个文件,命名为:

1
docker-compose.yml

用记事本或 VS Code 打开,粘贴以下内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
services:
redis:
image: redis:7-alpine
container_name: my-redis
ports:
- "6379:6379"
volumes:
- redis_data:/data
restart: always
command: redis-server --save 60 1 --loglevel warning

volumes:
redis_data:

📌 配置说明(小白友好)

配置项 作用
image: redis:7-alpine 使用轻量版 Redis 7
ports: ["6379:6379"] 把 Redis 的 6379 端口暴露给你的电脑
volumes: [redis_data:/data] 关键! 数据会保存到磁盘,重启不丢
restart: always 开机自启(如果你设了 Docker 自启)
command: ... 设置自动保存:每 60 秒至少有 1 次修改就存盘

🔧 第三步:启动 Redis

在终端中(确保在 my-redis 目录下),运行:

1
docker compose up -d
  • up:启动服务
  • -d:后台运行(不占用终端)

✅ 成功提示:无红色错误,且返回命令行。


🔍 验证 Redis 是否运行

1. 查看容器状态

1
docker compose ps

正常输出:

1
2
NAME       IMAGE           COMMAND                  SERVICE   STATUS
my-redis redis:7-alpine "docker-entrypoint.s…" redis running

2. 测试连接(发送 PING)

1
docker exec -it my-redis redis-cli PING

✅ 正确响应:

1
PONG

如果看到 PONG,说明 Redis 已成功运行!


🧪 简单测试:存取数据

1
2
# 进入 Redis 命令行
docker exec -it my-redis redis-cli

然后输入:

1
2
3
SET hello "world"
GET hello
EXIT

输出应为:

1
2
OK
"world"

🧹 常用管理命令(都在 my-redis 目录下运行)

命令 作用 说明
docker compose up -d 启动 Redis 首次运行会自动下载镜像
docker compose down 停止容器 数据不会丢失!
docker compose logs redis 查看日志 排查问题用
docker volume ls 列出数据卷 你会看到 my-redis_redis_data
docker volume rm my-redis_redis_data 彻底清空数据 ⚠️ 谨慎使用!

💡 数据卷名称规则:<文件夹名>_<volume名> → 本例为 my-redis_redis_data


❓ 常见问题解答

Q1: 报错 The system cannot find the file specified

  • 原因:Docker Desktop 没启动,或用了管理员终端
  • 解决
    1. 确保 Docker Desktop 应用已运行(托盘有鲸鱼图标)
    2. 关闭所有“管理员”终端,用普通 CMD/PowerShell

Q2: 如何确认 Docker 是否工作?

运行:

1
docker info

如果看到大量信息(含 Server 部分),说明正常。

Q3: 数据真的不会丢吗?

是的!只要你不手动删除 volume(即不运行 docker volume rm ...),即使:

  • 重启电脑
  • 重装 Docker
  • 删除容器(docker compose down

数据依然保留。


📁 项目结构

1
2
my-redis/
└── docker-compose.yml

所有配置集中在一个文件,便于备份和分享。


✅ 总结

操作 命令
启动 Redis docker compose up -d
停止 Redis docker compose down
测试连接 docker exec -it my-redis redis-cli PING
清空数据 docker volume rm my-redis_redis_data
场景 你要做的操作
今天用完关电脑 直接关机,不用管 Docker
明天继续用 1. 启动 Docker Desktop
2. cd 项目目录docker compose up -d
想确认数据在不在 docker exec -it chatbot-redis redis-cli GET hello