Docker安装最新Redis6(redis-6.2.7)(参考官方文档)

2023-05-16

一、前言

  Redis官方下载地址:
  https://redis.io/download/#redis-downloads

 
  Docker Hub官方网址:
  https://hub.docker.com/

 
  【关联博客教程】

最新Docker在Centos7下安装部署(参考官方教程文档)
 
写最好的最新稳定版Redis7(redis-7.0.5)在云服务器Centos7安装部署教程(参考官方文档)
 
写最好的最新Redis6(redis-6.2.7)在云服务器Centos7安装部署教程(参考官方文档)
 
Docker安装最新稳定版Redis7(redis-7.0.5)(参考官方文档)

  本教程参考官方文档在Docker中安装最新稳定版Redis-6.2.7,官方文档有些细节没有说明,笔者因此踩了不了坑。
 
  本文由 @大白有点菜 原创,请勿盗用,转载请说明出处!如果觉得文章还不错,请点点赞,加关注,谢谢!
 

二、安装部署

 

1、如何查看Docker Hub中Redis最新稳定的版本

(1)浏览Docker Hub网址,即Docker的仓库,搜索关键字 redis 查找redis的版本(和官方redis的版本是同步的)。或者直接进入对应页面 https://hub.docker.com/_/redis
 
Docker Hub中查询redis版本

 
(2)点击第一个,进入到 Redis 相关页面,包括一些 版本介绍安装教程在页面的下半部分)。页面介绍中,在同一行的,例如 6.2.7, 6.2, 6, 6.2.7-bullseye, 6.2-bullseye, 6-bullseye ,其实是同一个版本。
 
点第一个
 
Redis版本在同一行的都是相同版本

 
Docker Hub官方安装Redis教程

 
(3)“Tags”标签页面列出了具体的版本,可以复制指令,手写指令的一定要加版本号(6.2.7),不然拉取的就是最新版本,即Redis7。
 
复制拉取指定版本6.2.7的Redis版本指令
 

2、创建两个目录,挂载为容器的卷(Volume),conf为配置文件目录,data为数据目录。

mkdir -p /mydata/redis/conf
mkdir -p /mydata/redis/data

创建两个目录,conf和data

 
  什么是卷(Volume)?命令 docker -v 中的“-v”就是这个卷,“-v”只是“--volume”的简写。
 
  Docker官方文档解释的含义:https://docs.docker.com/storage/volumes/
 
  来几张原文截图,并附上谷歌翻译后的截图
 
Volume1 
Volume2
 
Volume3
 
Volume4
 

3、拉取Redis-6.2.7镜像。

docker pull redis:6.2.7

拉取最新的Redis镜像

 

4、创建Redis容器

(1)官方文档教程并没有这一步,但有提到 redis.conf 配置文件,redis.conf 从何而来呢?笔者经过研究,解决了这个问题。先从Redis官网下载最新Redis-6.2.7的源码包,解压出来,在 redis-6.2.7 目录里面复制 redis.conf 配置文件到 /mydata/redis/conf 目录下。
 
临时下载Redis-6.2.7源码包获取redis.conf配置文件

 
 1)下载 redis-6.2.7.tar.gz 源码包。

wget https://download.redis.io/releases/redis-6.2.7.tar.gz

 2)解压 redis-6.2.7.tar.gz 。

tar -xzf redis-6.2.7.tar.gz

 3)复制 redis-6.2.7 目录下的 redis.conf/mydata/redis/conf 目录下。

cp redis-6.2.7/redis.conf /mydata/redis/conf/

 4)更改 /mydata/redis 目录下所有文件的权限为可读可写可执行。

chmod 777 -R /mydata/redis

 5)删除 redis-6.2.7.tar.gz 源码包 和 解压出来的 redis-6.2.7 程序目录。

rm -rf redis-6.2.7*

(2)创建并运行容器。容器名为 redis映射端口 6379 ,挂载配置目录 /mydata/redis/conf ,挂载数据目录 /mydata/redis/dataredis-server 以配置文件 redis.conf 启动。注意:参数 -d 后面的 redis 需要加上版本号(6.2.7)

docker run --name redis -p 6379:6379 -v /mydata/redis/conf:/usr/local/etc/redis -v /mydata/redis/data:/data -d redis:6.2.7 redis-server /usr/local/etc/redis/redis.conf

创建并运行Redis容器
 

5、运行 redis-cli 测试连接 redis-server。如图,说明Redis容器配置正确。指令 exit 代表退出连接。

docker exec -it 88c redis-cli

运行 redis-cli 测试连接 redis-server
 

6、设置容器自启动。

docker update --restart=always redis

设置容器自启动

 

7、容器的启动、停止、删除、重新启动、查看运行状态。

(1)启动容器

docker start redis

docker start 容器ID

(2)停止容器

docker stop redis

docker stop 容器ID

(3)删除容器

docker rm redis

docker rm 容器ID

(4)重新启动容器

docker restart redis

docker restart 容器ID

(5)查看容器运行状态
 

  • 查看所有容器的运行状态,包括运行的和停止的
docker ps -a
  • 查看所有运行中的容器的状态,不包括停止的
docker ps

 

三、配置修改

1、前面使用 redis-cli 去连接 redis-server,是能正常连接的,但是,使用第三方可视化工具 RESP(旧版叫 Redis Desktop Manager),却无法远程连接,为什么会这样子呢?因为,Redis默认只允许本地连接,经过笔者验证,如果要远程连接,就需要同时修改配置文件 redis-confbindrequirepass 这两个参数值,缺一不可。对应的数据目录 dir 参数值也要修改。

 
RESP 连接失败 

2、修改 redis.conf 配置文件(两种方式)。

(1)编辑 redis.conf 文件。

vim /mydata/redis/conf/redis.conf

(2)方法一修改参数值。注意:6379.conf 配置文件有2053行,要找到指定参数位置不方便,可以通过行号快速跳转。要想了解如何设置显示行号和跳转,请参考教程【Linux中vim编辑文件显示行号(临时和永久两种方式)】和【Linux中vim编辑文件跳转指定的行和列】。此处有个操作小技巧:按 i 键进入到编辑模式,修改内容后,再按 Esc 键切换到正常模式,输入 ngg 跳转到第n行(n代表行号),例如跳转到第66行,即 66gg ,继续按 i 键进入到编辑模式修改下一部分内容。最后记得输入 :wq 保存并退出。

  • 行号 75 ,原内容【bind 127.0.0.1 -::1】。默认只支持 redis-cli 本地连接 redis-server ,不支持远程连接,例如第三方工可视化具 RESP(旧版叫 Redis Desktop Manager)。【支持远程连接参数值修改如下】
bind * -::*

修改75行bind参数值

 

  • 行号 456 ,原内容【dir ./】。【这个参数修改为要存放的数据目录】
dir /data

修改456行dir参数值

 

  • 行号 903 ,原内容【# requirepass foobared】。给默认用户设置密码,主要是使用 redis-cli 连接 redis-server时,需要通过密码校验。配置文件默认是注释这个参数的,代表无密码连接。使用第三方可视化工具 RESP 去连接Redis,肯定要设置Redis用户密码。此处 123456 密码过于简单,不建议这么做,很不安全。 【此处参数修改为指定的密码】
requirepass 123456

修改903行requirepass参数值

 
(3)方法二修改参数值。使用sed替换配置文件 /mydata/redis/conf/redis.conf 中参数默认的值。反斜杠“\”代表转义符,即将某些特殊字符转义。

sed -i 's/bind 127.0.0.1 -::1/bind * -::*/' /mydata/redis/conf/redis.conf
sed -i 's/dir \.\//dir \/data/' /mydata/redis/conf/redis.conf
sed -i 's/\# requirepass foobared/requirepass 123456/' /mydata/redis/conf/redis.conf

 

3、重启容器并使用RESP连接测试。

docker restart redis

重启容器并使用RESP连接测试
 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Docker安装最新Redis6(redis-6.2.7)(参考官方文档) 的相关文章

  • 新品BCM6755A1KFEBG/MT7921LE/MT7921AU WiFi芯片

    博通在WiFi市场具有相当的实力 在WiFi6上有下面这几个解决方案 xff1a 型号 xff1a BCM6755 BCM6755A1KFEBG 类型 xff1a 四核1 5GHz CPU 封装 xff1a BGA 批次 xff1a 新 B
  • Ubuntu : GPG签名验证错误 解决之道sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 6DFBCBAE

    Ubuntu GPG签名验证错误 解决之道 转载 sudo apt key adv keyserver keyserver ubuntu com recv keys Key Where key 61 61 the gpg key id Th
  • T265深度图像输出

    1 T265深度图像输出 1 1 环境依赖 T265摄像头python3pip3opencv pythonpyrealsense2 1 2 安装运行环境 安装秘钥 span class token function sudo span ap
  • Linux版本号串记录(ubuntu系列)

    Linux version 4 4 0 112 generic buildd 64 lgw01 amd64 010 gcc version 5 4 0 20160609 Ubuntu 5 4 0 6ubuntu1 16 04 5 135 U
  • 死锁的四个必要条件

    死锁 在高并发中是一个常见的名词 产生的四个必要条件如下 xff1a 互斥条件 xff1a 一个资源同一时间能且只能被一个线程访问 xff1b 不可掠夺 xff1a 当资源被一个线程占用时 xff0c 其他线程不可抢夺该资源 xff1b 请
  • Sphinx index.rst

    假设我们有两个文本file1 rst和file2 rst他们的内容如下 file1 rst span class hljs header file1 title1 61 61 61 61 61 61 61 61 61 61 61 61 sp
  • Git - 图形化界面操作

    目录 1 新建仓库 2 代码提交 3 代码回滚 4 新建分支 5 合并分支 6 重置合并 7 分支变基 8 分支优选 Git 的图形化界面操作 xff0c 使用 Idea 进行演示 1 新建仓库 对于一个代码仓库 Create Git re
  • CMakeLists

    1 指定 cmake 的最小版本 cmake minimum required VERSION 3 4 1 2 设置项目名称 xff0c 它会引入两个变量 demo BINARY DIR 和 demo SOURCE DIR xff0c 同时
  • 七步实现STM32MP157多核协同工作(Cortex-A7与Cortex-M4通信)

    写在前面 xff1a STM32MP157是ST进军Linux的首款微处理器 xff0c 采用MCU 43 MPU的组合 xff0c 集成两颗主频微800MHz的Cortex A7应用处理器内核 xff08 支持开源linux操作系统 xf
  • 【实战】STM32 FreeRTOS移植系列教程4:FreeRTOS 软件定时器

    写在前面 xff1a 本文章为 STM32MP157开发教程之FreeRTOS操作系统篇 系列中的一篇 xff0c 笔者使用的开发平台为华清远见FS MP1A开发板 xff08 STM32MP157开发板 xff09 stm32mp157是
  • 【实战】STM32 FreeRTOS移植系列教程5:FreeRTOS消息队列

    写在前面 xff1a 本文章为 STM32MP157开发教程之FreeRTOS操作系统篇 系列中的一篇 xff0c 笔者使用的开发平台为华清远见FS MP1A开发板 xff08 STM32MP157开发板 xff09 stm32mp157是
  • 学习嵌入式linux为什么推荐stm32mp157开发板?

    stm32mp157是ST推出的一款双A7 43 M4多核异构处理器 xff0c 既可以学习linux xff0c 又可以学习stm32单片机开发 xff0c 还可以拓展物联网 人工智能方向技术学习 xff0c 并极大丰富linux应用场景
  • STM32 Linux开发板——教程+视频+项目+硬件

    STM32 Linux开发板 适合入门进阶学习的Linux开发板 xff1a 华清远见FS MP1A开发板 xff08 STM32MP157开发板 xff09 开发板介绍 FS MP1A开发板是华清远见自主研发的一款高品质 高性价比的Lin
  • 编程语言对比 面向对象

    C 43 43 面向对象 java面向对象 python面向对象 java中是public int a 61 10 C 43 43 中是 public int a 61 10 C 43 43 中有拷贝构造
  • 嵌入式linux物联网毕业设计项目智能语音识别基于stm32mp157开发板

    stm32mp157开发板FS MP1A是华清远见自主研发的一款高品质 高性价比的Linux 43 单片机二合一的嵌入式教学级开发板 开发板搭载ST的STM32MP157高性能微处理器 xff0c 集成2个Cortex A7核和1个Cort
  • CMake(一)

    CMake xff08 一 xff09 简述 在之前的文章中介绍了 qmake的使用 相比qmake xff0c CMake稍微复杂一点 xff0c 它使用CMakeList txt文件来定制整个编译流程 同时 xff0c CMake会根据
  • LTE网元功能

    LTE 网元功能 2015 03 30 22 33 31 分类 xff1a NetworkProtocols 举报 字号 订阅 下载LOFTER 我的照片书 主要网元功能 eNodeB Radio Resou
  • [C++] 32位C++程序,计算sizeof的值

    sizeof str 61 6 字符串数组 xff0c 大小是六个字节 加上 39 0 39 共六个 sizeof p 61 4 指针的内容就是一个指向目标地址的整数 xff0c 所以不管指向char int还是其他 xff0c 32位机指
  • 串口打印printf

    串口打印printf 1 配置串口2 添加代码3 使用MDK勾选Mircro LIB 1 配置串口 打开STM32CubeMX xff0c 创建工程 xff0c 配置串口 2 添加代码 重写fputc函数 xff0c 需要包含头文件 inc
  • 22.Ubuntu出现“由于没有公钥,无法验证下列签名”

    由于没有公钥 xff0c 无法验证下列签名 1 无公钥错误2 输入命令导入公钥3 注意 1 无公钥错误 使用sudo apt update时出现以下错误 xff1a 我图中的公钥就是 xff1a 3B4FE6ACC0B21F32 xff08

随机推荐

  • nyist 27 水池数目(dfs搜索)

    xfeff xfeff 水池数目 时间限制 xff1a 3000 ms 内存限制 xff1a 65535 KB 难度 xff1a 4 描述 南阳理工学院校园里有一些小河和一些湖泊 xff0c 现在 xff0c 我们把它们通一看成水池 xff
  • XTUOJ 1176 I Love Military Chess(模拟)

    xfeff xfeff I Love Military Chess Accepted 45 Submit 141Time Limit 1000 MS Memory Limit 65536 KB 题目描述 陆军棋 xff0c 又称陆战棋 xf
  • 数据结构课程设计之一元多项式的计算

    数据结构不是听会的 xff0c 也不是看会的 xff0c 是练会的 xff0c 对于写这么长的代码还是心有余也力不足啊 xff0c 对于指针的一些操作 xff0c 也还是不熟练 xff0c 总出现一些异常错误 xff0c 对于数据结构掌握还
  • Unity官方文档(英文)

    地址 xff1a https docs unity3d com Manual UnityManual html
  • 数据结构课程设计之通讯录管理系统

    数据结构的第二个课程设计 xff0c 在c语言课程设计的基础上加以改进 xff0c xff08 加强版 xff09 xff0c 保存一下代码 xff0c 对文件的处理 xff0c 还是有一点一问题 xff0c 还有待改进 include l
  • 在网页中添加音乐

    最近在折腾一个网页 xff0c 对于一个有强迫症的人来说 xff0c 就想在网页中插入音乐 xff0c xff08 当做背景音乐 xff09 xff0c 然后自己百度了好多资料 xff1b 就在这里总结一下 xff1a 第一步 xff1a
  • nyist oj 214 单调递增子序列(二) (动态规划经典)

    单调递增子序列 二 时间限制 xff1a 1000 ms 内存限制 xff1a 65535 KB 难度 xff1a 4 描述 给定一整型数列 a1 a2 an xff08 0 lt n lt 61 100000 xff09 xff0c 找出
  • 思科CCNA第一学期期末考试答案

    1 第 3 层头部包含的哪一项信息可帮助数据传输 xff1f 端口号 设备物理地址 目的主机逻辑地址 虚拟连接标识符 2 IP 依靠 OSI 哪一层的协议来确定数据包是否已丢失并请求重传 xff1f 应用层 表示层 会话层 传输层 3 请参
  • hexo博客出现command not found解决方案

    由于前一段时间忙于考试 xff0c 也有好久没有去更新博客了 xff0c 今天去添加友链的时候 xff0c 突然发现用不了了 xff0c 出现了conmand not found的提示 xff1a 按照字面上的翻译就是 找不到所使用的命令
  • 思科CCNA第二学期期末考试答案

    1 关于数据包通过路由器传输时的封装和解封的叙述 xff0c 下列哪三项是正确的 xff1f xff08 选择三项 xff09 路由器修改 TTL 字段 xff0c 将其值减 1 路由器将源 IP 更改为送出接口的 IP 路由器保持相同的源
  • Hexo版本升级和Next主题升级之坑

    缘起 差不多用了一年hexo的3 2 0版本 xff0c next主题版本也用的5 0的 xff0c 本来用的好好的 xff0c 但是最近访问其他人的博客 xff0c 发现访问速度比我的提升了不止一点点 xff0c 遂决定折腾一番 过程 H
  • Python中JSON的基本使用

    JSON JavaScript Object Notation 是一种轻量级的数据交换格式 Python3 中可以使用 json 模块来对 JSON 数据进行编解码 xff0c 它主要提供了四个方法 xff1a dumps dump loa
  • 卷积和快速傅里叶变换(FFT)的实现

    卷积运算 卷积可以说是图像处理中最基本的操作 线性滤波通过不同的卷积核 xff0c 可以产生很多不同的效果 假如有一个要处理的二维图像 xff0c 通过二维的滤波矩阵 xff08 卷积核 xff09 xff0c 对于图像的每一个像素点 xf
  • 每个程序员和设计师可做的10项运动

    本文转载自 码农网 程序员 和设计师大部分时间都坐在电脑前 有效的锻炼有助于他们更好地工作 传统的 xff1a 当坐在电脑桌前的时候 脚触地 双手在肘部弯曲 打字时手应搁在桌子上 键盘和鼠标应在触手可及的地方 显示屏应在视线水平上 xff0
  • OKhttpUtils

    public class OkUtils static final int GET EXCUTE 61 111 static final int GET ENQUEUE 61 222 static final int POST EXCUTE
  • 性能调优之JMH必知必会4:JMH的高级用法

    性能调优之JMH必知必会4 xff1a JMH的高级用法 JMH必知必会系列文章 xff08 持续更新 xff09 一 前言二 JMH的高级用法1 添加JMH依赖包2 Asymmetric Benchmark3 Interrupts Ben
  • 性能调优之JMH必知必会5:JMH的Profiler

    性能调优之JMH必知必会5 xff1a JMH的Profiler JMH必知必会系列文章 xff08 持续更新 xff09 一 前言二 JMH的Profiler1 添加JMH依赖包2 StackProfiler3 GcProfiler4 C
  • 性能调优之JMH必知必会3:编写正确的微基准测试用例

    性能调优之JMH必知必会3 xff1a 编写正确的微基准测试用例 JMH必知必会系列文章 xff08 持续更新 xff09 一 前言二 编写正确的微基准测试用例1 添加JMH依赖包2 避免DCE xff08 Dead Code Elimin
  • 写最好的最新Redis6(redis-6.2.7)在云服务器Centos7安装部署教程(参考官方文档)

    一 前言 Redis官方下载地址 xff1a https redis io download redis downloads 本教程参考官方文档 xff0c 在云服务器Centos7上安装部署 Redis6 最新版 Redis 6 2 7
  • Docker安装最新Redis6(redis-6.2.7)(参考官方文档)

    一 前言 Redis官方下载地址 xff1a https redis io download redis downloads Docker Hub官方网址 xff1a https hub docker com 关联博客教程 最新Docker