Docker安装Redis并使用Another Redis Desktop Manager连接

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
简介: Docker安装Redis并使用Another Redis Desktop Manager连接

Redis简单介绍

Redis全称是Remote DIctionary Service,即远程字典服务。Redis 是一个使用C语言编写的、开源的(遵守 BSD 协议)、高性能的、支持网络、可基于内存亦可持久化的日志型、Key-Value的NoSQL数据库。

查看可用的 Redis 版本

访问DokcerHub中的Redis镜像库地址:https://hub.docker.com/_/redis?tab=tags

可以通过 Sort by 查看其他版本的 Redis,默认是最新版本(redis:latest):https://hub.docker.com/_/redis/tags?page=1

1336199-20220903231939768-137235511.png

此外,我们还可以用 docker search redis 命令来查看可用版本:

docker search redis

输出如下:

1336199-20220903232018636-637559014.png

拉取最新版的Redis镜像

这里我们拉取官方的最新版本的镜像:

docker pull redis:latest

1336199-20220903232158936-645759595.png

查看本地安装的镜像

使用以下命令来查看redis镜像是否成功拉取到本地:

docker images

1336199-20220903232533769-1321687065.png

设置Docker中的Redis容器运行外网连接

首先Docker运行的每个容器都是隔离的,Redis默认不允许外部连接,因此想要部署在Docker容器内的应用连接上Redis,需要修改Redis默认配置,这里我们以配置文件运行redis即可。

1、下载redis.conf文件

首先创建挂载目录:

sudo mkdir redis

redis.conf是Redis的核心配置文件,默认docker运行的redis是不存在配置文件的,这里可以先从官网下载:

wget http://download.redis.io/redis-stable/redis.conf

1336199-20220912171519285-1004193425.png

2、设置redis.conf文件权限

sudo chown -R $USER redis.conf

-R或-recursive:递归处理,将指定目录下的所有文件及子目录一并处理

chown [-R] [用户名称:组名称] [文件或目录]

3、修改默认配置信息

vi redis.conf

i 开始编辑

编辑完成后esc+:wq保存修改

  • bind 127.0.0.1 -::1  #这行要注释掉,解除本地连接限制
  • protected-mode no  #默认yes,如果设置为yes,则只允许在本机的回环连接,其他机器无法连接。
  • daemonize no  #默认no 为不守护进程模式,docker部署不需要改为yes,docker run -d本身就是后台启动,不然会冲突
  • requirepass 123456  #设置密码
  • appendonly yes  #持久化

创建并运行一个Redis容器和设置链接密码

Redis镜像拉取成功以后,我们可以使用以下命令来运行创建一个名为redis-test的redis容器:

docker run --name redis-test -p 6379:6379 -v /docker-data/redis/redis.conf:/etc/redis/redis.conf -v /docker-data/redis:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes --requirepass 123456

参数说明:

  • --name redis-test:容器名称。
  • -p 6379:6379:映射容器服务的 6379 端口到宿主机的 6379 端口。外部可以直接通过宿主机ip:6379 访问到 Redis 的服务。
  • -v /docker-data/redis/redis.conf:/etc/redis/redis.conf : 将主机中配置文件挂载到容器中
  • -v /docker-data/redis:/data : 将主机中data挂载到容器的/redis
  • -d redis redis-server /etc/redis/redis.conf:表示后台启动redis,以配置文件启动redis,加载容器内的conf文件。
  • redis-server /etc/redis/redis.conf : 容器中以配置文件方式启动redis
  • redis-server --appendonly yes : 在容器执行redis-server启动命令,并打开redis持久化配置
  • redis-server --requirepass 123456 :redis连接密码设置  

1336199-20220912175125697-166615968.png

验证Redis是否安装成功

最后我们可以通过 docker ps 命令查看容器的运行信息:

docker ps

1336199-20220903233253684-756682855.png

接着我们通过 redis-cli 连接测试使用 redis 服务。

docker exec -it redis-test /bin/bash
redis-cli
# 密码登录
auth 123456

1336199-20220904002834648-1259179889.png

Another Redis Desktop Manager介绍:

  Redis DeskTop Manager自从进入了0.9.9版本就开始付费使用或者贡献代码获得免费使用期限。这时候,Another Redis DeskTop Manager作为一款基于nodejs开发的免费的Redis可视化管理工具,可以运行在Windows、Linux、Mac平台,而且是开源免费应用,就很推荐使用了。

gitee源码地址:https://gitee.com/qishibo/AnotherRedisDesktopManager

window .exe安装包下载地址:https://gitee.com/qishibo/AnotherRedisDesktopManager/releases

Redis Client On Error: Error: connect ETIMEDOUT xxx.xxx.xxx:6379 Config right?

由于上面我已经对redis.conf配置文件进行了允许外网连接配置的修改,报这个错误我猜测是因为服务器没有配置6379的开放端口,所以需要到服务器后端管理中添加6379端口配置。

1336199-20220912180445687-419512468.png

Another Redis Desktop Manager测试连接:

 1336199-20220912213639249-2059371286.png

1336199-20220912213639249-2059371286.png



相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
1月前
|
Docker 容器
|
28天前
|
NoSQL Redis 数据库
Redis 连接
10月更文挑战第19天
29 0
|
4天前
|
监控 NoSQL 网络协议
【Azure Redis】部署在AKS中的应用,连接Redis高频率出现timeout问题
查看Redis状态,没有任何异常,服务没有更新,Service Load, CPU, Memory, Connect等指标均正常。在排除Redis端问题后,转向了AKS中。 开始调查AKS的网络状态。最终发现每次Redis客户端出现超时问题时,几乎都对应了AKS NAT Gateway的更新事件,而Redis服务端没有任何异常。因此,超时问题很可能是由于NAT Gateway更新事件导致TCP连接被重置。
|
22天前
|
存储 SQL 关系型数据库
2024Mysql And Redis基础与进阶操作系列(1)作者——LJS[含MySQL的下载、安装、配置详解步骤及报错对应解决方法]
Mysql And Redis基础与进阶操作系列(1)之[MySQL的下载、安装、配置详解步骤及报错对应解决方法]
|
26天前
|
NoSQL 网络协议 算法
Redis 客户端连接
10月更文挑战第21天
28 1
|
1月前
|
NoSQL Ubuntu Linux
Redis 安装
10月更文挑战第14天
53 1
|
12天前
|
NoSQL 编译器 Linux
【赵渝强老师】Redis的安装与访问
本文基于Redis 6.2版本,详细介绍了在CentOS 7 64位虚拟机环境中部署Redis的步骤。内容包括安装GCC编译器、创建安装目录、解压安装包、编译安装、配置文件修改、启动服务及验证等操作。视频讲解和相关图片帮助理解每一步骤。
|
1月前
|
消息中间件 缓存 NoSQL
Redis 是一个高性能的键值对存储系统,常用于缓存、消息队列和会话管理等场景。
【10月更文挑战第4天】Redis 是一个高性能的键值对存储系统,常用于缓存、消息队列和会话管理等场景。随着数据增长,有时需要将 Redis 数据导出以进行分析、备份或迁移。本文详细介绍几种导出方法:1)使用 Redis 命令与重定向;2)利用 Redis 的 RDB 和 AOF 持久化功能;3)借助第三方工具如 `redis-dump`。每种方法均附有示例代码,帮助你轻松完成数据导出任务。无论数据量大小,总有一款适合你。
77 6
|
11天前
|
缓存 NoSQL 关系型数据库
大厂面试高频:如何解决Redis缓存雪崩、缓存穿透、缓存并发等5大难题
本文详解缓存雪崩、缓存穿透、缓存并发及缓存预热等问题,提供高可用解决方案,帮助你在大厂面试和实际工作中应对这些常见并发场景。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
大厂面试高频:如何解决Redis缓存雪崩、缓存穿透、缓存并发等5大难题
|
12天前
|
存储 缓存 NoSQL
【赵渝强老师】基于Redis的旁路缓存架构
本文介绍了引入缓存后的系统架构,通过缓存可以提升访问性能、降低网络拥堵、减轻服务负载和增强可扩展性。文中提供了相关图片和视频讲解,并讨论了数据库读写分离、分库分表等方法来减轻数据库压力。同时,文章也指出了缓存可能带来的复杂度增加、成本提高和数据一致性问题。
【赵渝强老师】基于Redis的旁路缓存架构
下一篇
无影云桌面