本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。
所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。
REDISINSIGHT Docker 容器化部署指南
2025/11/26Docker,REDISINSIGHT轩辕镜像团队23 分钟阅读

REDISINSIGHT Docker 容器化部署指南

Redis Insight 是 Redis 官方推出的图形化管理工具,为开发人员和管理员提供直观的 Redis 数据可视化、性能监控和数据库管理功能。该工具支持所有 Redis 部署类型,包括 Redis Open Source、Redis Stack、Redis Enterprise Software、Redis Enterprise Cloud 以及 Amazon ElastiCache 等,能够帮助用户优化开发流程并提高 Redis 数据库的管理效率。

redisinsightdocker部署教程

概述

Redis Insight 是 Redis 官方推出的图形化管理工具,为开发人员和管理员提供直观的 Redis 数据可视化、性能监控和数据库管理功能。该工具支持所有 Redis 部署类型,包括 Redis Open Source、Redis Stack、Redis Enterprise Software、Redis Enterprise Cloud 以及 Amazon ElastiCache 等,能够帮助用户优化开发流程并提高 Redis 数据库的管理效率。

通过 Docker 容器化部署 Redis Insight 具有以下优势:

  • 环境一致性:确保在不同环境中运行相同的应用配置
  • 快速部署:简化安装流程,减少环境依赖问题
  • 资源隔离:与主机系统隔离,提高系统安全性
  • 版本控制:轻松管理和切换不同版本的 Redis Insight

本文档将详细介绍如何通过 Docker 容器化方式部署 Redis Insight,包括环境准备、镜像拉取、容器配置、功能测试及生产环境优化建议等内容。

环境准备

Docker 安装

在开始部署前,需要确保目标服务器已安装 Docker 环境。推荐使用以下一键安装脚本,该脚本适用于主流 Linux 发行版(Ubuntu、Debian、CentOS、Fedora 等):

bash
bash <(wget -qO- https://xuanyuan.cloud/docker.sh)

注意:执行脚本可能需要 root 权限,请根据系统提示输入密码。安装过程中会自动处理依赖项并配置 Docker 服务。

安装完成后,可以通过以下命令验证 Docker 是否正确安装:

bash
# 检查 Docker 版本
docker --version

# 检查 Docker Compose 版本
docker compose version

# 验证 Docker 服务状态
systemctl status docker

若 Docker 服务未自动启动,可执行以下命令手动启动:

bash
sudo systemctl start docker
sudo systemctl enable docker  # 设置开机自启

镜像准备

镜像信息确认

Redis Insight 官方镜像信息如下:

如需指定版本,可从标签列表页面查看所有可用版本,选择适合的标签替换本文中的 latest 标签。

镜像拉取命令

根据镜像名称 redis/redisinsight 包含斜杠的特性,属于多段镜像名(用户/组织镜像),应使用以下拉取命令:

bash
# 拉取最新版本
docker pull xxx.xuanyuan.run/redis/redisinsight:latest

# 如需指定版本,例如拉取1.14.0版本
# docker pull xxx.xuanyuan.run/redis/redisinsight:1.14.0

注意:如果需要拉取特定版本,请将命令中的 latest 替换为具体版本号,如 1.14.0。可以从 REDISINSIGHT镜像标签列表 查看所有可用版本。

拉取完成后,可使用以下命令验证镜像是否成功下载:

bash
docker images | grep redisinsight

预期输出类似于:

xxx.xuanyuan.run/redis/redisinsight   latest    abc12345   2 weeks ago   500MB

容器部署

基本部署(非持久化)

如果仅需临时使用 Redis Insight 且不需要保存配置和数据,可使用以下命令快速启动容器:

bash
docker run -d \
  --name redisinsight \
  -p 5540:5540 \
  --restart unless-stopped \
  xxx.xuanyuan.run/redis/redisinsight:latest

参数说明:

  • -d:后台运行容器
  • --name redisinsight:指定容器名称为 redisinsight
  • -p 5540:5540:端口映射,将主机的 5540 端口映射到容器的 5540 端口
  • --restart unless-stopped:设置容器重启策略,除非手动停止,否则总是重启
  • xxx.xuanyuan.run/redis/redisinsight:latest:使用的镜像及标签

持久化部署(推荐)

为确保 Redis Insight 的配置、日志和连接信息在容器重启后不丢失,推荐使用数据卷进行持久化存储:

bash
# 创建数据卷
docker volume create redisinsight-data

# 使用数据卷启动容器
docker run -d \
  --name redisinsight \
  -p 5540:5540 \
  -v redisinsight-data:/data \
  --restart unless-stopped \
  xxx.xuanyuan.run/redis/redisinsight:latest

参数说明:

  • -v redisinsight-data:/data:将名为 redisinsight-data 的数据卷挂载到容器的 /data 目录,该目录用于存储 Redis Insight 的配置、日志和持久化数据

自定义配置部署

Redis Insight 支持通过环境变量进行自定义配置,以下是一些常用的高级配置示例:

bash
docker run -d \
  --name redisinsight \
  -p 5540:5540 \
  -v redisinsight-data:/data \
  -e RI_LOG_LEVEL=info \
  -e RI_REDIS_HOST=redis-server \
  -e RI_REDIS_PORT=6379 \
  -e RI_REDIS_ALIAS=MyRedisServer \
  -e RI_ENCRYPTION_KEY="your-secure-encryption-key" \
  --restart unless-stopped \
  xxx.xuanyuan.run/redis/redisinsight:latest

环境变量说明:

  • RI_LOG_LEVEL:日志级别,可选值包括 error、warn、info、http、verbose、debug、silly,默认为 info
  • RI_REDIS_HOST:预配置的 Redis 服务器主机地址
  • RI_REDIS_PORT:预配置的 Redis 服务器端口,默认为 6379
  • RI_REDIS_ALIAS:预配置连接的别名
  • RI_ENCRYPTION_KEY:用于加密敏感信息的密钥,建议使用强密码

多数据库连接配置

Redis Insight 支持通过环境变量预配置多个数据库连接,只需为每个连接添加唯一标识符:

bash
docker run -d \
  --name redisinsight \
  -p 5540:5540 \
  -v redisinsight-data:/data \
  -e RI_REDIS_HOST0=redis-master \
  -e RI_REDIS_PORT0=6379 \
  -e RI_REDIS_ALIAS0=Redis-Master \
  -e RI_REDIS_HOST1=redis-slave \
  -e RI_REDIS_PORT1=6379 \
  -e RI_REDIS_ALIAS1=Redis-Slave \
  -e RI_REDIS_HOST2=redis-cluster \
  -e RI_REDIS_PORT2=6379 \
  -e RI_REDIS_ALIAS2=Redis-Cluster \
  --restart unless-stopped \
  xxx.xuanyuan.run/redis/redisinsight:latest

使用 Docker Compose 部署

对于更复杂的部署需求,推荐使用 Docker Compose 进行管理。创建 docker-compose.yml 文件:

yaml
version: '3.8'

services:
  redisinsight:
    image: xxx.xuanyuan.run/redis/redisinsight:latest
    container_name: redisinsight
    restart: unless-stopped
    ports:
      - "5540:5540"
    volumes:
      - redisinsight-data:/data
    environment:
      - RI_LOG_LEVEL=info
      - RI_FILES_LOGGER=true
      - RI_STDOUT_LOGGER=true
      # 可选:预配置数据库连接
      # - RI_REDIS_HOST=redis-server
      # - RI_REDIS_PORT=6379
      # - RI_REDIS_ALIAS=MyRedis
    networks:
      - redis-network

volumes:
  redisinsight-data:

networks:
  redis-network:
    driver: bridge

使用以下命令启动服务:

bash
docker compose up -d

容器状态检查

部署完成后,可使用以下命令检查容器运行状态:

bash
# 查看容器状态
docker ps | grep redisinsight

# 查看容器日志
docker logs -f redisinsight

如果一切正常,日志中会显示类似以下内容:

Starting Redis Insight...
Listening on port 5540

功能测试

访问 Web 界面

容器启动后,通过浏览器访问以下地址打开 Redis Insight:

http://<服务器IP>:5540

首次访问时,系统会要求接受许可协议,点击 "Accept" 即可进入主界面。

连接 Redis 服务器

  1. 在主界面点击 "Add Redis Database" 按钮
  2. 输入 Redis 服务器连接信息:
    • Host:Redis 服务器地址(如 localhost、192.168.1.100 等)
    • Port:Redis 端口,默认为 6379
    • Name:连接别名(可选)
    • 如有需要,配置认证信息(密码、用户名等)
  3. 点击 "Add Database" 完成添加

基本功能测试

成功连接 Redis 服务器后,可以进行以下基本操作测试:

  1. 数据浏览:在左侧导航栏选择已添加的 Redis 数据库,浏览键值对数据
  2. 数据操作:尝试添加、编辑或删除键值对,验证基本操作功能
  3. 命令执行:在工作区输入 Redis 命令(如 SET test "hello"GET test),验证命令执行功能
  4. 性能监控:查看仪表盘上的性能指标,如内存使用、命令吞吐量等
  5. 数据可视化:查看键空间分析、内存使用分布等图表

健康检查

Redis Insight 提供健康检查接口,可通过以下命令验证服务是否正常运行:

bash
curl -I http://<服务器IP>:5540/api/health/

如果服务正常,会返回 200 OK 状态码:

HTTP/1.1 200 OK
X-Powered-By: Express
Content-Type: text/html; charset=utf-8
Content-Length: 2
ETag: W/"2-nOO9QiTIwXgNtWtBJezz8kv3SLc"
Date: Wed, 15 Nov 2023 08:00:00 GMT
Connection: keep-alive

生产环境建议

安全加固

在生产环境部署 Redis Insight 时,应考虑以下安全措施:

  1. 使用 HTTPS 加密

    配置 SSL/TLS 加密以保护数据传输安全:

    bash
    docker run -d \
      --name redisinsight \
      -p 5540:5540 \
      -v redisinsight-data:/data \
      -v /path/to/certificates:/certs \
      -e RI_SERVER_TLS_KEY=/certs/private.key \
      -e RI_SERVER_TLS_CERT=/certs/certificate.crt \
      --restart unless-stopped \
      xxx.xuanyuan.run/redis/redisinsight:latest
    
  2. 限制网络访问

    通过防火墙限制只有特定 IP 可以访问 Redis Insight 端口:

    bash
    # 使用 ufw 防火墙示例(Ubuntu/Debian)
    sudo ufw allow from 192.168.1.0/24 to any port 5540
    sudo ufw reload
    
  3. 使用加密密钥保护敏感数据

    设置加密密钥以保护存储在本地的敏感信息:

    bash
    docker run -d \
      --name redisinsight \
      -p 5540:5540 \
      -v redisinsight-data:/data \
      -e RI_ENCRYPTION_KEY="your-strong-encryption-key" \
      --restart unless-stopped \
      xxx.xuanyuan.run/redis/redisinsight:latest
    

    注意:请使用强密码作为加密密钥,并妥善保管。如果密钥丢失,将无法访问加密的敏感数据。

资源配置优化

根据实际使用情况调整容器资源限制:

bash
docker run -d \
  --name redisinsight \
  -p 5540:5540 \
  -v redisinsight-data:/data \
  --memory=2g \
  --memory-swap=2g \
  --cpus=1 \
  --restart unless-stopped \
  xxx.xuanyuan.run/redis/redisinsight:latest

参数说明:

  • --memory=2g:限制容器使用最大 2GB 内存
  • --memory-swap=2g:限制容器使用的 swap 空间
  • --cpus=1:限制容器使用 1 个 CPU 核心

日志管理

优化日志配置以便于问题排查和监控:

bash
docker run -d \
  --name redisinsight \
  -p 5540:5540 \
  -v redisinsight-data:/data \
  -v redisinsight-logs:/data/logs \
  -e RI_LOG_LEVEL=warn \
  -e RI_FILES_LOGGER=true \
  -e RI_STDOUT_LOGGER=false \
  --restart unless-stopped \
  xxx.xuanyuan.run/redis/redisinsight:latest

参数说明:

  • RI_LOG_LEVEL=warn:只记录警告及以上级别的日志
  • RI_FILES_LOGGER=true:启用文件日志记录
  • RI_STDOUT_LOGGER=false:禁用标准输出日志

高可用性配置

对于关键业务,可考虑使用负载均衡实现 Redis Insight 的高可用部署:

yaml
# docker-compose-ha.yml
version: '3.8'

services:
  redisinsight-1:
    image: xxx.xuanyuan.run/redis/redisinsight:latest
    container_name: redisinsight-1
    restart: unless-stopped
    ports:
      - "5541:5540"
    volumes:
      - redisinsight-data-1:/data
    environment:
      - RI_LOG_LEVEL=info
      - RI_ENCRYPTION_KEY=${ENCRYPTION_KEY}
    networks:
      - redisinsight-network

  redisinsight-2:
    image: xxx.xuanyuan.run/redis/redisinsight:latest
    container_name: redisinsight-2
    restart: unless-stopped
    ports:
      - "5542:5540"
    volumes:
      - redisinsight-data-2:/data
    environment:
      - RI_LOG_LEVEL=info
      - RI_ENCRYPTION_KEY=${ENCRYPTION_KEY}
    networks:
      - redisinsight-network

  nginx:
    image: xxx.xuanyuan.run/library/nginx:latest
    container_name: redisinsight-lb
    restart: unless-stopped
    ports:
      - "5540:80"
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf
    depends_on:
      - redisinsight-1
      - redisinsight-2
    networks:
      - redisinsight-network

volumes:
  redisinsight-data-1:
  redisinsight-data-2:

networks:
  redisinsight-network:
    driver: bridge

故障排查

常见问题及解决方法

1. 容器启动后无法访问 Web 界面

排查步骤

bash
# 1. 检查容器是否正在运行
docker ps | grep redisinsight

# 2. 查看容器日志
docker logs redisinsight

# 3. 检查端口映射
netstat -tuln | grep 5540

# 4. 检查防火墙规则
sudo ufw status | grep 5540  # Ubuntu/Debian
# 或
sudo firewall-cmd --list-ports | grep 5540  # CentOS/RHEL

可能的解决方案

  • 容器未运行:检查日志中的错误信息,使用 docker start redisinsight 启动容器
  • 端口冲突:如果 5540 端口已被占用,使用其他端口启动,如 -p 5541:5540
  • 防火墙阻止:调整防火墙规则允许访问 5540 端口

2. 无法连接到 Redis 服务器

可能的解决方案

  • 检查网络连接:确保 Redis Insight 容器可以访问目标 Redis 服务器
  • 验证 Redis 服务器地址和端口:确保连接信息正确
  • 检查 Redis 认证:如果 Redis 服务器启用了密码认证,确保输入正确的密码
  • 网络隔离:如果 Redis 服务器在另一个 Docker 网络中,需要将 Redis Insight 加入相同网络
bash
# 将容器连接到 Redis 所在网络
docker network connect redis-network redisinsight

3. 数据持久化问题

可能的解决方案

  • 检查数据卷权限:确保容器对数据卷有读写权限
  • 验证挂载配置:确保数据卷正确挂载到 /data 目录
  • 检查磁盘空间:确保主机有足够的磁盘空间
bash
# 检查数据卷挂载情况
docker inspect -f '{{ .Mounts }}' redisinsight

# 检查磁盘空间
df -h

日志分析

Redis Insight 的日志可以帮助诊断问题:

bash
# 查看最近的日志
docker logs --tail=100 redisinsight

# 实时查看日志
docker logs -f redisinsight

# 查看日志文件(如果启用了文件日志)
docker exec -it redisinsight cat /data/logs/redisinsight.log

获取容器详细信息

当遇到问题时,获取容器的详细配置信息有助于排查:

bash
# 获取容器详细配置
docker inspect redisinsight > redisinsight-inspect.json

# 检查容器资源使用情况
docker stats redisinsight

参考资源

官方文档

Redis Insight 功能文档

  • 数据可视化:Redis Insight 提供直观的键值对浏览界面,支持多种数据结构的可视化展示
  • 性能监控:实时监控 Redis 服务器性能指标,包括内存使用、命令吞吐量、连接数等
  • 命令行界面:内置 Redis CLI,支持执行任意 Redis 命令并查看结果
  • 数据库管理:支持添加、编辑和删除数据库连接,集中管理多个 Redis 实例
  • 数据导入导出:支持 Redis 数据的导入和导出,便于数据迁移和备份

相关工具

  • Redis CLI:Redis 官方命令行工具,用于与 Redis 服务器交互
  • Redis Desktop Manager:另一个流行的 Redis 图形化管理工具
  • Prometheus + Grafana:用于高级 Redis 性能监控和可视化

总结

本文详细介绍了 REDISINSIGHT 的 Docker 容器化部署方案,从环境准备、镜像拉取、容器部署到功能测试和生产环境优化,提供了全面的指导。通过 Docker 部署 Redis Insight 可以快速搭建功能完善的 Redis 管理工具,帮助开发人员和管理员更高效地管理 Redis 数据库。

关键要点

  • 使用轩辕镜像加速服务可以显著提高 Redis Insight 镜像的下载速度,特别适合国内用户
  • 根据不同的使用场景选择合适的部署方式:基本部署适用于临时测试,持久化部署适用于生产环境
  • 生产环境中应采取安全加固措施,包括启用 HTTPS、限制网络访问和使用加密密钥保护敏感数据
  • 容器化部署提供了良好的隔离性和可移植性,简化了 Redis Insight 的安装和升级流程

后续建议

  • 深入学习 Redis Insight 的高级特性,如性能分析、内存优化和集群管理功能
  • 根据实际业务需求调整 Redis Insight 的配置参数,优化资源使用效率
  • 定期备份 Redis Insight 的数据卷,防止配置和连接信息丢失
  • 关注 Redis Insight 的版本更新,及时升级以获取新功能和安全修复
  • 结合监控工具(如 Prometheus、Grafana)建立全面的 Redis 监控体系

通过合理配置和使用 Redis Insight,可以有效提高 Redis 数据库的管理效率,及时发现并解决性能问题,确保 Redis 服务的稳定运行。

免责声明

本博客文章所提供的内容、技术方案、配置示例及部署指南等信息,仅供学习交流和技术参考使用。文章内容基于发布时的技术环境和版本信息编写,可能因时间推移、技术更新或环境差异而存在不适用的情况。

用户在参考本博客内容进行部署操作前,应当充分了解相关技术风险,并建议在测试环境中进行充分验证和测试,确认无误后再考虑在生产环境中使用。生产环境部署前,请务必进行数据备份,并制定相应的回滚方案。

用户因使用本博客内容进行部署操作而产生的任何损失、数据丢失、系统故障、安全风险或其他问题,均由用户自行承担全部责任。轩辕镜像官方不对因使用本博客内容而产生的任何直接或间接损失承担责任。

本免责声明的最终解释权归轩辕镜像官方所有。

最后更新:2025/11/26