7

Docker安装Redis并使用Another Redis Desktop Manager连接 - 追逐时光者

 2 years ago
source link: https://www.cnblogs.com/Can-daydayup/p/16653903.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

文章正文:

Redis简单介绍

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

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-20220912180724885-1141196039.png
1336199-20220912213639249-2059371286.png

参考文章:

Docker安装Redis并配置文件启动

作者:追逐时光者

作者简介:一个热爱编程,善于分享,喜欢学习、探索、尝试新事物,新技术的程序猿。

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。如果该篇文章对您有帮助的话,可以点一下右下角的【♥推荐♥】,希望能够持续的为大家带来好的技术文章,文中可能存在描述不正确或错误的地方,欢迎指正、补充,不胜感激 !


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK