Docker Compose 一键部署 Redis + Redis-Commander 可视化管理工具

一、方案简介

本文提供一套完整 docker-compose-redis.yml 编排文件,可一次性启动 Redis 6.2 服务与 Redis Commander 可视化管理面板,具备容器自重启、健康检查、持久化配置、内置网桥网络、登录鉴权等能力,适配 Windows Docker Desktop 环境,开箱即用。 整体架构分为两个服务:

  1. redis:核心 Redis 缓存服务,挂载自定义配置文件,对外开放 6379 端口;
  2. 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 可视化管理面板

  1. 镜像spryker/redis-commander:0.8.0,开源 Redis Web 管理工具,项目开源地址:https://github.com/joeferner/redis-commander
  2. 访问端口 :8081,浏览器访问 http://127.0.0.1:8081 即可打开管理页面
  3. 环境变量说明
    • REDIS_HOSTS=local:redis:6379:通过自定义网桥网络,使用容器名 redis 内网互通,无需暴露公网 IP
    • HTTP_USER / HTTP_PASSWORD:Web 登录账号密码,默认均为 admin,生产环境务必修改
    • 多语言 UTF-8 配置:避免中文 key/value 乱码
  4. depends_on 依赖控制 condition: service_healthy:仅当 Redis 健康检查通过后,才启动管理面板,避免启动时报 Redis 连接失败。

4. 自定义网桥网络 my-network

单独创建 bridge 网桥,两个服务加入同一网络,容器间可通过 hostname 互相访问,隔离宿主机其他容器,网络更安全清晰。

四、部署前置准备(Windows 环境)

  1. 在本地创建目录:C:/docker/redis/config/
  2. 下载官方 redis.conf 配置文件放入该目录,可按需修改:设置访问密码、开启 RDB/AOF 持久化、限制最大内存、关闭保护模式等;
  3. 确保本地已安装并启动 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

六、访问与使用

  1. Redis 客户端连接 本地工具(Redis Desktop Manager、Another Redis Desktop Manager)连接地址:127.0.0.1:6379,配置文件设置密码后需携带密码登录。
  2. Web 可视化后台 浏览器访问:http://localhost:8081 登录账号:admin /admin 功能:查看所有库、增删改查 Key、批量操作、监控 Redis 状态、查看慢日志等。

七、生产环境优化建议

  1. 修改 Redis Commander 登录账号密码,避免默认弱口令;
  2. redis.conf 中配置 Redis 访问密码,禁止无密码暴露公网;
  3. 增加数据持久化挂载目录,将 RDB/AOF 文件映射到宿主机,防止容器删除数据丢失;
  4. 限制容器内存,通过 mem_limit 配置防止 Redis 占用宿主机全部内存;
  5. 服务器部署(Linux)需修改 volume 挂载路径,将 Windows 路径替换为 Linux 本地目录如 /data/redis/config/redis.conf
  6. 对外使用防火墙限制 6379、8081 端口访问,仅内网信任 IP 可连接。

八、总结

这套 Compose 编排实现 Redis 服务与可视化管理工具一体化部署,自带健康检查、自启动、内网互通能力,大幅降低本地 / 测试环境 Redis 部署成本。无需单独安装 Redis,一条命令即可完成整套环境搭建,可视化面板替代命令行操作,适合开发、测试场景快速使用,简单调整配置后也可用于内网测试服务器。