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

简介: 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



相关文章
|
关系型数据库 应用服务中间件 nginx
Docker一键安装中间件(RocketMq、Nginx、MySql、Minio、Jenkins、Redis)
本系列脚本提供RocketMQ、Nginx、MySQL、MinIO、Jenkins和Redis的Docker一键安装与配置方案,适用于快速部署微服务基础环境。
|
11月前
|
关系型数据库 数据库 PostgreSQL
docker 安装 Postgres 17.6
本文介绍如何通过Docker安装和配置PostgreSQL 17.6。内容包括拉取镜像、导出配置文件、运行容器并挂载数据与配置文件目录,以及进入容器使用psql操作数据库的完整步骤,便于持久化管理和自定义配置。
1747 3
docker 安装 Postgres 17.6
|
10月前
|
存储 NoSQL Redis
手把手教你用 Docker 部署 Redis
Redis是高性能内存数据库,支持多种数据结构,适用于缓存、消息队列等场景。本文介绍如何通过Docker快速拉取轩辕镜像并部署Redis,涵盖快速启动、持久化存储及docker-compose配置,助力开发者高效搭建稳定服务。
2948 8
|
10月前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
983 6
|
10月前
|
Java Linux 虚拟化
【Docker】(1)Docker的概述与架构,手把手带你安装Docker,云原生路上不可缺少的一门技术!
1. Docker简介 1.1 Docker是什么 为什么docker会出现? 假定您在开发一款平台项目,您的开发环境具有特定的配置。其他开发人员身处的环境配置也各有不同。 您正在开发的应用依赖于您当前的配置且还要依赖于某些配置文件。 您的企业还拥有标准化的测试和生产环境,且具有自身的配置和一系列支持文件。 **要求:**希望尽可能多在本地模拟这些环境而不产生重新创建服务器环境的开销 问题: 要如何确保应用能够在这些环境中运行和通过质量检测? 在部署过程中不出现令人头疼的版本、配置问题 无需重新编写代码和进行故障修复
788 2
|
NoSQL 算法 Redis
docker高级篇(大厂进阶):安装redis集群
docker高级篇(大厂进阶):安装redis集群
1105 24
|
NoSQL 关系型数据库 Redis
《docker高级篇(大厂进阶):1.Docker复杂安装详说》包括:安装mysql主从复制、安装redis集群
《docker高级篇(大厂进阶):1.Docker复杂安装详说》包括:安装mysql主从复制、安装redis集群
526 14
|
关系型数据库 MySQL 应用服务中间件
《docker基础篇:8.Docker常规安装简介》包括:docker常规安装总体步骤、安装tomcat、安装mysql、安装redis
《docker基础篇:8.Docker常规安装简介》包括:docker常规安装总体步骤、安装tomcat、安装mysql、安装redis
586 7
|
NoSQL 关系型数据库 Redis
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
mall在linux环境下的部署(基于Docker容器),docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongodb、minio详细教程,拉取镜像、运行容器
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo