通过docker安装redis配置redis.conf及远程连接

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
简介: 通过docker安装redis配置redis.conf及远程连接

1,首先通过Docker拉取Redis镜像

关于Redis的Docker镜像信息及说明可以通过https://hub.docker.com/_/redis查看
docker pull redis 拉取redis镜像(最新版)
docker pull redis:7.0 拉取指定版本

2,测试启动Redis

下载镜像后,只需要一个命令就可以启动Redis:
r# docker run -itd --name redis -p 6379:6379 redis

进入redis内部,测试Redis
r# docker exec -it redis /bin/bash
root@1431ee4313f3:/data# redis-cli
127.0.0.1:6379> set foo bar
OK
127.0.0.1:6379> get foo
"bar"
127.0.0.1:6379> exit
root@1431ee4313f3:/data#

可以发现Redis已经启动,不过这个时候的Redis没有配置文件,没有设置密码。我们需要通过修改镜像并保存的方法进行设置,也可以通过映射的方式在启动的时候设置。这里介绍映射的方式,因为它更加灵活一些。

3,配置Redis.conf

首先需要获取Redis的配置文件。这个我们通过docker cp将容器内的默认配置文件拷贝出来,然后在这个基础上进行修改。
r# docker exec -it redis /bin/bash
root@1431ee4313f3:/data# ls -l /etc/redis/redis.conf
-rwxrwxrwx 1 root root 106545 Jul 18 21:04 /etc/redis/redis.conf
root@1431ee4313f3:/data# exit
exit
确定redis.conf位置后就可以拷贝出来了。
r# docker cp redis:/etc/redis/redis.conf ./

然后对redis.conf进行修改,主要修改的地方包括:
查找requirepass,将requirepass的哪一行的注释去掉,修改为:
requirepass 你要设置的密码

然后将:
bind 127.0.0.1 -::1
protected-mode yes
这两行注释掉,否则的化远程连接的时候会报错。

4,重新启动Redis

将原来启动的redis关闭,通过:
docker stop redis

然后将配置好的redis配置文件拷贝到服务器的/home/redis/conf下(假设你的Redis配置目录为/home/redis/),然后运行
docker run -itd -p 6379:6379 -v /home/redis/conf:/usr/local/etc/redis --name redis redis redis-server /usr/local/etc/redis/redis.conf
命令解释:
-p 6379:6379 端口映射:前表示主机部分,:后表示容器部分。
--name redis 指定该容器名称。
-v 挂载目录,规则与端口映射相同。
-itd 表示后台启动redis
redis-server /usr/local/etc/redis/redis.conf 表示以这个配置文件启动redis,因为目录映射,所以用的是你配置的redis.conf

启动Redis后,通过本机连接测试:
r# docker exec -it redis /bin/bash
root@1431ee4313f3:/data# redis-cli
127.0.0.1:6379> set foo bar
(error) NOAUTH Authentication required.
127.0.0.1:6379>
可以发现已经设置了授权,需要密码进行访问。输入

127.0.0.1:6379> auth 你设置的密码

就可以设置和测试redis了。

5,远程测试

在另外一台安装了redis的机器上运行(也可以在另外一台机器上通过Docker启动Redis用于访问测试):
redis-cli -h host -p port -a password
host:远程redis服务器host
port:远程redis服务端口
password:远程redis服务密码
就可以进行远程访问。

如果出现Server closed the connection等报错信息,就需要检查一下
bind 127.0.0.1 -::1
protected-mode yes
这两行是否注释掉了。

相关实践学习
基于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
相关文章
|
5天前
|
关系型数据库 MySQL Linux
Docker安装Mysql5.7,解决无法访问DockerHub问题
当 Docker Hub 无法访问时,可以通过配置国内镜像加速来解决应用安装失败和镜像拉取超时的问题。本文介绍了如何在 CentOS 上一键配置国内镜像加速,并成功拉取 MySQL 5.7 镜像。
53 2
Docker安装Mysql5.7,解决无法访问DockerHub问题
|
11天前
|
NoSQL 数据可视化 Linux
redis学习四、可视化操作工具链接 centos redis,付费Redis Desktop Manager和免费Another Redis DeskTop Manager下载、安装
本文介绍了Redis的两个可视化管理工具:付费的Redis Desktop Manager和免费的Another Redis DeskTop Manager,包括它们的下载、安装和使用方法,以及在使用Another Redis DeskTop Manager连接Redis时可能遇到的问题和解决方案。
37 1
redis学习四、可视化操作工具链接 centos redis,付费Redis Desktop Manager和免费Another Redis DeskTop Manager下载、安装
|
3天前
|
存储 NoSQL Redis
Redis 配置
10月更文挑战第14天
8 1
|
3天前
|
NoSQL Ubuntu Linux
Redis 安装
10月更文挑战第14天
20 1
|
6天前
|
数据可视化 数据挖掘 Docker
Docker Desktop 安装 ClickHouse 超级简单教程
Docker Desktop 安装 ClickHouse 超级简单教程
18 1
|
6天前
|
Ubuntu Linux 网络安全
Docker&Docker Compose安装(离线+在线)
Docker&Docker Compose安装(离线+在线)
65 1
|
6天前
|
Java jenkins 持续交付
Centos7下docker的jenkins下载并配置jdk与maven
通过上述步骤,您将成功在CentOS 7上的Docker容器中部署了Jenkins,并配置好了JDK与Maven,为持续集成和自动化构建打下了坚实基础。
28 1
|
8天前
|
NoSQL Linux Redis
Docker学习二(Centos):Docker安装并运行redis(成功运行)
这篇文章介绍了在CentOS系统上使用Docker安装并运行Redis数据库的详细步骤,包括拉取Redis镜像、创建挂载目录、下载配置文件、修改配置以及使用Docker命令运行Redis容器,并检查运行状态和使用Navicat连接Redis。
66 3
|
11天前
|
网络协议 Docker 容器
docker中的DNS配置
【10月更文挑战第5天】
109 1
|
NoSQL Java Redis
Redis 远程连接报错解决方案
本文目录 1. 场景 2. 解决方案
192 0