谷粒商城学习-11-docker安装redis

文章目录

  • 一,拉取Redis镜像
    • 1,搜索Redis的Docker镜像
    • 2,拉取Redis镜像
    • 3,查看已经拉取的镜像
  • 二,创建、启动Redis容器
    • 1,创建redis配置文件
    • 2,创建及运行Redis容器
    • 3,使用docker ps查看运行状态的容器
    • 4,验证容器是否可用
  • 三,修改Redis配置文件

一,拉取Redis镜像

1,搜索Redis的Docker镜像

下载镜像前可以先查询镜像仓库有哪些镜像,执行如下命令查询Redis镜像。

docker search redis

在这里插入图片描述

当然去Docker Hub搜索能看到更详细的信息。

2,拉取Redis镜像

docker pull redis

如上命令表示把标签为Redis镜像拉取到本地。

  • docker pull 表示从镜像仓库拉取镜像
  • redis 我们在拉取mysql镜像时指定了标签为5.7,此处拉取redis没有指定标签,将会拉取最新版本的redis镜像

如果拉取的速度非常慢,把docker的yum源设置为阿里云,速度会大幅提升。参考文献

3,查看已经拉取的镜像

docker images

在这里插入图片描述

二,创建、启动Redis容器

1,创建redis配置文件

mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.conf

这一步非常重要,下一步会把redis的配置文件挂到这个目录,如果不事先创建配置文件,创建容器时会把redis.conf作为文件夹而不是配置文件

2,创建及运行Redis容器

使用docker run创建启动容器。

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

以下是给定的 docker run 命令的详细解释,以列表形式展示每个参数的作用:

①. docker run

  • 启动一个新的 Docker 容器。

②. -p 6379:6379

  • 执行端口映射,将宿主机的 6379 端口映射到容器内的 6379 端口,使外部可以访问容器内的 Redis 服务。

③. --name redis

  • 为容器指定一个名字,命名为 redis,方便后续管理和识别。

④. -v /mydata/redis/data:/data

  • 进行目录挂载,将宿主机上的 /mydata/redis/data 目录挂载到容器内的 /data 目录。这样做是为了实现数据的持久化,容器内的数据文件(如 RDB 或 AOF)将保存在宿主机的这个目录下。

⑤. -v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf

  • 另一个目录挂载,将宿主机上的 /mydata/redis/conf/redis.conf 文件挂载到容器内的 /etc/redis/redis.conf。这意味着容器内的 Redis 将使用宿主机提供的配置文件运行,允许用户自定义配置,如持久化策略、密码保护等。

⑥. -d

  • 设置容器在后台(守护进程模式)运行,不会阻塞当前的 shell 会话。

⑦. redis

  • 指定容器使用的 Docker 镜像名称,这里是官方的 Redis 镜像。

⑧. redis-server /etc/redis/redis.conf

  • 指定容器启动时执行的命令。redis-server 是 Redis 的服务启动脚本,后面跟的 /etc/redis/redis.conf 是容器内 Redis 的配置文件路径。因为使用了 -v 参数挂载了自定义配置文件,所以这里实际上使用的是宿主机提供的配置文件来启动 Redis 服务。

3,使用docker ps查看运行状态的容器

docker ps

可以看到一个名为redis的容器正在运行。

在这里插入图片描述

4,验证容器是否可用

使用docker命令进入mysql命令行客户端

docker exec -it redis redis-cli

如下,可以连接到redis的命令行工具,执行读写数据的命令。

在这里插入图片描述

说明redis安装成功。

三,修改Redis配置文件

在上一步,我们向Redis写入一条数据,key是a,value是b,也能正常读出数据。

但是,如果执行如下命令重启redis容器。

docker restart redis

重启完成后,发现写入的数据无法查询,原因是根据redis默认的配置,数据仅仅存储在内存,重启后数据会丢失。

绝大多数场景下,需要把Redis中的数据持久化到磁盘,这需要修改一个配置。

修改过程很简单,执行如下命令:

vim /mydata/redis/conf/redis.conf

然后向这个打开的配置文件写入如下配置:

appendonly yes

在这里插入图片描述
保存,然后重启Redis。

之后写入的数据都会持久化到磁盘,重启Redis也不会丢数据。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/775857.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

GSR解读 | 7月7日起,所有新车出海欧洲将强制配备这些ADAS功能!

今年以来,“出海”“卷到海外去”成为大大小小车企活动中的高频词。在国内卷无可卷的主机厂们逐渐将战火烧到海外,而欧洲则成为大部分车厂的出海第一站,如蔚来、极氪、小鹏都在欧洲建立了本地团队或子公司。 中国车企出海欧洲在高歌猛进的同…

RAM和ROM的区别

RAM和ROM的区别 RAM和ROM都是用来存东西的,比如我们熟悉的CPU缓存、电脑和手机的内存就是属于RAM,而固态硬盘、U盘,还有我们买手机时候说的32G、64G的存储空间,就属于ROM。RAM和ROM的区别,简单说就是RAM在断电之后&am…

前端面试题12(js异步方法)

在JavaScript中,异步编程是处理延迟操作(如网络请求、定时器等)的关键方式,它允许代码在等待某些操作完成时继续执行,提高了应用的响应性和用户体验。 回调函数(Callback) 回调是最原始的异步处…

spark shuffle写操作——BypassMergeSortShuffleWriter

创建分区文件writer 每一个分区都生成一个临时文件,创建DiskBlockObjectWriter对象,放入partitionWriters 分区writer写入消息 遍历所有消息,每一条消息都使用分区器选择对应分区的writer然后写入 生成分区文件 将分区writer的数据flu…

用html+css设计一个列表清单小卡片

目录 简介: 效果图: 源代码: 可能的问题: 简介: 这个HTML代码片段是一个简单的列表清单设计。它包含一个卡片元素(class为"card"),内部包含一个无序列表(ul),列表项(li)前面有一个特殊的符号(△)。整个卡片元素设计成300px宽,150px高,具有圆角边…

【字符串】【滑动窗口+位运算+双指针】1、无重复字符的最长子串+2、尽可能使字符串相等+3、最长优雅子数组+4、移动零+5、反转字符串

2道简单3道中等 1、无重复字符的最长子串(难度:中等) 该题对应力扣网址 超时代码 老实说,在我写博客的时候,也不知道为啥超时了,因为我看和我AC的代码时间也差不了多少吧(如果有大佬知道&…

误删分区后的数据拯救:双管齐下恢复策略

在数字化时代,数据的价值日益凸显,而误删分区作为常见的数据安全威胁之一,常常让用户措手不及。本文将深入探讨误删分区的现象,并为您揭示两种高效的数据恢复方案,旨在帮助您在最短时间内找回失去的数据,同…

1117 数字之王

solution 判断现有数字是否全为个位数 全为个位数,找出出现次数最多的数字,并首行输出最多出现次数,第二行输出所有出现该次数的数值不全为个位数 若当前位数值为0,无需处理若当前位数值非0,则每位立方相乘&#xff0…

Linux搭建hive手册

一、将hive安装包上传到NameNode节点并解压 1、删除安装MySQL时的.rpm文件 cd /opt/install_packages/ rm -rf *.rpm 2、将安装包拖进/install_packages目录 3、解压安装包 tar -zxvf apache-hive-3.1.2-bin.tar.gz -C /opt/softs/ 4、修改包名 cd /opt/softs mv apache-…

虚拟机下基于海思移植QT(一)——虚拟机下安装QT

0.参考资料 1.海思Hi3516DV300 移植Qt 运行并在HDMI显示器上显示 2.搭建海思3559A-Qt4.8.7Openssl开发环境 1.报错解决 通过下面命令查询 strings /lib/x86_64-linux-gnu/libc.so.6 | grep GLIBC_通过命令行没有解决: sudo apt install libc6-dev libc6参考解决…

【国产开源可视化引擎Meta2d.js】锚点

国产开源 乐吾乐潜心研发,自主可控,持续迭代优化 Github:GitHub - le5le-com/meta2d.js: The meta2d.js is real-time data exchange and interactive web 2D engine. Developers are able to build Web SCADA, IoT, Digital twins and so …

【C语言题目】34.猜凶手

文章目录 作业标题作业内容2.解题思路3.具体代码 作业标题 猜凶手 作业内容 日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯的一个。 以下为4个嫌疑犯的供词: A说:不是我。 B说:是C。 C说:是D。 D说&#xff…

软件是什么?一个软件到底是哪些部分组成的-软件到底有哪些分支呢?

https://doc.youyacao.com/117/2163 软件是什么?一个软件到底是哪些部分组成的-软件到底有哪些分支呢? 何为软件 软件定义 的本质是通过软件编程实现硬件资源的虚拟化、灵活、多样和定制化功能,以最大化系统运行效率和能量效率。它基于硬…

SSM中小学生信息管理系统-计算机毕业设计源码02677

摘要 随着社会的发展和教育的进步,中小学生信息管理系统成为学校管理的重要工具。本论文旨在基于SSM框架,采用Java编程语言和MySQL数据库,设计和开发一套高效、可靠的中小学生信息管理系统。中小学生信息管理系统以学生为中心,通过…

H2 Database Console未授权访问漏洞封堵

背景 H2 Database Console未授权访问,默认情况下自动创建不存在的数据库,从而导致未授权访问。各种未授权访问的教程,但是它怎么封堵呢? -ifExists 很简单,启动参数添加 -ifExists ,它的含义&#xff1a…

漏洞分析 | PHP CGI Windows平台远程代码执行漏洞(CVE-2024-4577)

漏洞概述 PHP CGI(Common Gateway Interface)是在Windows平台上运行PHP的一种方式。CGI是一种标准接口,允许Web服务器与外部应用程序(如PHP脚本)进行交互,从而生成动态网页内容。 近期,PHP发布…

STMCUBEMX_IIC_LL库_AT24C64分页读取和写入

STMCUBEMX_IIC_LL库_AT24C64分页读取和写入 前言: 一个项目中构建的软件系统需要存储非常多的用户参数,大约有几千字节,所以牵扯到自己设计跨页写入算法,注意读出也是需要设计跨页读出算法的(手册没强调,但…

二、从多臂老虎机看强化学习

二、从多臂老虎机看强化学习 2.1 多臂老虎机问题2.1.1 问题定义2.2.2 问题建模2.2.3 累积懊悔2.2.4 估计期望奖励 2.2 强化学习中的探索与利用平衡2.3 贪心策略2.4 上置信界算法2.5 汤普森采样算法 2.1 多臂老虎机问题 2.1.1 问题定义 在多臂老虎机(mutil-armed bandit, MAB)问…

专业电脑录歌软件,电脑录音的六大方法【你了解几个】

电脑录音怎么录?大多数电脑都是有自带的录音功能的,但是由于电脑系统自带的录音功能效果没那么好,很多情况下满足不了我们一些“刁钻”的录音需求。 那么电脑怎么录音?还有哪些好用的录音软件推荐?本文整理了多种电脑录…

常规情况与opencv图像中,计算直线与矩形框的交点

文章目录 1、普通方式1.1、普通计算过程1.2、优化方式 2、图像中的情况2.1、常规处理2.2、opencv中的处理2.2.1、cv::clipLine函数2.2.2、测试代码2.2.3、测试结果 1、普通方式 已知矩形框左上(x1,y1)、右下(x2,y2)点,直线方程 y kxb,求交点…