一、方案简介
本文提供一套完整 docker-compose-redis.yml 编排文件,可一次性启动 Redis 6.2 服务与 Redis Commander 可视化管理面板,具备容器自重启、健康检查、持久化配置、内置网桥网络、登录鉴权等能力,适配 Windows Docker Desktop 环境,开箱即用。 整体架构分为两个服务:
- redis:核心 Redis 缓存服务,挂载自定义配置文件,对外开放 6379 端口;
- redis-admin(redis-commander):Web 可视化管理后台,通过内网连接 Redis,提供页面操作 Redis 数据,访问端口 8081,内置账号密码登录。
二、完整 Compose 配置文件
文件名:docker-compose-redis.yml
bash
# docker compose -f docker-compose-redis.yml up -d
version: '3.9'
services:
# Redis
redis:
image: redis:6.2
container_name: redis
restart: always
hostname: redis
privileged: true
ports:
- 6379:6379
volumes:
- C:/docker/redis/config/redis.conf:/usr/local/etc/redis/redis.conf
command: redis-server /usr/local/etc/redis/redis.conf
networks:
- my-network
healthcheck:
test: [ "CMD", "redis-cli", "ping" ]
interval: 10s
timeout: 5s
retries: 3
# RedisAdmin https://github.com/joeferner/redis-commander
redis-admin:
image: spryker/redis-commander:0.8.0
container_name: redis-admin
hostname: redis-commander
restart: always
ports:
- 8081:8081
environment:
- REDIS_HOSTS=local:redis:6379
- HTTP_USER=admin
- HTTP_PASSWORD=admin
- LANG=C.UTF-8
- LANGUAGE=C.UTF-8
- LC_ALL=C.UTF-8
networks:
- my-network
depends_on:
redis:
condition: service_healthy
networks:
my-network:
driver: bridge
redis.conf文件
文件存放地址: C:/docker/redis/config/redis.conf
bash
bind 0.0.0.0
port 6379
三、配置逐段解析
1. 版本与基础规范
version: '3.9':指定 Compose 文件语法版本,兼容新版 Docker Desktop。
2. Redis 核心服务配置
| 配置项 | 作用说明 |
|---|---|
| image: redis:6.2 | 固定使用 Redis 6.2 镜像,版本稳定兼容多数业务 |
| container_name: redis | 固定容器名称,方便 docker exec 进入容器操作 |
| restart: always | 容器异常退出、宿主机重启后自动拉起,保障服务常驻 |
| privileged: true | 赋予容器高级权限,适配持久化、内核参数修改场景 |
| ports: 6379:6379 | 端口映射,宿主机 6379 端口对外提供 Redis 连接 |
| volumes 挂载 | Windows 本地路径 C:/docker/redis/config/redis.conf 挂载至容器,支持自定义 Redis 持久化、密码、最大内存等配置 |
| command | 启动时加载外部自定义配置文件 |
| healthcheck 健康检查 | 每 10 秒执行 redis-cli ping 检测服务存活,超时 5 秒,最多重试 3 次;未就绪时标记服务不健康 |
3. Redis Commander 可视化管理面板
- 镜像 :
spryker/redis-commander:0.8.0,开源 Redis Web 管理工具,项目开源地址:https://github.com/joeferner/redis-commander - 访问端口 :8081,浏览器访问
http://127.0.0.1:8081即可打开管理页面 - 环境变量说明
REDIS_HOSTS=local:redis:6379:通过自定义网桥网络,使用容器名redis内网互通,无需暴露公网 IPHTTP_USER / HTTP_PASSWORD:Web 登录账号密码,默认均为admin,生产环境务必修改- 多语言 UTF-8 配置:避免中文 key/value 乱码
- depends_on 依赖控制
condition: service_healthy:仅当 Redis 健康检查通过后,才启动管理面板,避免启动时报 Redis 连接失败。
4. 自定义网桥网络 my-network
单独创建 bridge 网桥,两个服务加入同一网络,容器间可通过 hostname 互相访问,隔离宿主机其他容器,网络更安全清晰。
四、部署前置准备(Windows 环境)
- 在本地创建目录:
C:/docker/redis/config/ - 下载官方
redis.conf配置文件放入该目录,可按需修改:设置访问密码、开启 RDB/AOF 持久化、限制最大内存、关闭保护模式等; - 确保本地已安装并启动 Docker Desktop。
五、常用操作命令
1. 后台启动服务
bash
docker compose -f docker-compose-redis.yml up -d
2. 查看容器运行日志
bash
# 查看redis日志
docker logs redis
# 查看管理面板日志
docker logs redis-admin
3. 停止服务(保留数据与配置)
bash
docker compose -f docker-compose-redis.yml down
4. 停止并删除镜像 / 容器(清空环境)
bash
docker compose -f docker-compose-redis.yml down --rmi all
5. 进入 Redis 容器命令行
bash
docker exec -it redis redis-cli
六、访问与使用
- Redis 客户端连接 本地工具(Redis Desktop Manager、Another Redis Desktop Manager)连接地址:
127.0.0.1:6379,配置文件设置密码后需携带密码登录。 - Web 可视化后台 浏览器访问:
http://localhost:8081登录账号:admin /admin 功能:查看所有库、增删改查 Key、批量操作、监控 Redis 状态、查看慢日志等。
七、生产环境优化建议
- 修改 Redis Commander 登录账号密码,避免默认弱口令;
- redis.conf 中配置 Redis 访问密码,禁止无密码暴露公网;
- 增加数据持久化挂载目录,将 RDB/AOF 文件映射到宿主机,防止容器删除数据丢失;
- 限制容器内存,通过
mem_limit配置防止 Redis 占用宿主机全部内存; - 服务器部署(Linux)需修改 volume 挂载路径,将 Windows 路径替换为 Linux 本地目录如
/data/redis/config/redis.conf; - 对外使用防火墙限制 6379、8081 端口访问,仅内网信任 IP 可连接。
八、总结
这套 Compose 编排实现 Redis 服务与可视化管理工具一体化部署,自带健康检查、自启动、内网互通能力,大幅降低本地 / 测试环境 Redis 部署成本。无需单独安装 Redis,一条命令即可完成整套环境搭建,可视化面板替代命令行操作,适合开发、测试场景快速使用,简单调整配置后也可用于内网测试服务器。
