当前位置: 首页 > news >正文

谷粒商城学习-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也不会丢数据。

相关文章:

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

文章目录 一,拉取Redis镜像1,搜索Redis的Docker镜像2,拉取Redis镜像3,查看已经拉取的镜像 二,创建、启动Redis容器1,创建redis配置文件2,创建及运行Redis容器3,使用docker ps查看运行…...

C++:类继承是什么,怎么继承

一、类继承是什么 首先了解什么是基类,什么是派生类 在面向对象编程中,基类(Base Class 或 Superclass)是一个类的模板,它定义了一些通用的属性和行为。子类(Derived Class 或 Inheritance)可…...

期权学习必看圣书:《3小时快学期权》要在哪里看?

今天带你了解期权学习必看圣书:《3小时快学期权》要在哪里看?《3小时快学期权》是一本关于股票期权基础知识的书籍。 它旨在通过简明、易懂的语言和实用的案例,让读者在短时间内掌握股票期权的基本概念、操作方法和投资策略。通过这本书&…...

Keepalived 双机热备

1. Keepalived 双机热备 keepalived主要用来提供故障切换(failover)和健康检查(Health Checking)。 1.2 Keepalived 热备方式 Keepalived 采用VRRP (Virtual Router Redundancy Protocol,虚拟路由冗…...

基于React和TypeScript的开源白板项目(Github项目分享)

在学习前端开发的过程中,有时候我们需要一些有趣的项目来提升我们的技能。今天我要给大家介绍的是一个非常酷的项目——NinjaSketch,这是一个用React和TypeScript构建的简易白板工具。这个项目使用了Rough.js来实现手绘风格的效果。尽管这个应用不是响应…...

1019记录

人瑞 - SDK - 外派米哈游 1,接口测试的工具 回答的是postman, 改进:JMeter 2,接口502,什么问题导致的?如何定位? 参考答案:502错误定义:是网关错误, 通俗…...

详细设计与概要设计区别-慧哥充电桩开源系统

概要设计更侧重于系统的整体构架和模块划分,而详细设计则关注具体模块的实现细节。在软件开发过程中,这两个阶段虽然紧密相关,但它们各自有着不同的目标和方法。以下是具体分析: 目标 概要设计:概要设计关注系统整体架…...

vue3 引入百度地图的三种方式

本次也是正好写了一个基于VUE3和百度地图的设计,但奈何第一次使用百度地图,在学习的途中遇到了很多问题,也发现网上的材料相对较少,因此做出了一些小总结,后续还会更新。 一、直接引入 直接在public中的index.html中进…...

鸿蒙开发设备管理:【@ohos.usb (USB管理)】

USB管理 本模块主要提供管理USB设备的相关功能,包括查询USB设备列表、批量数据传输、控制命令传输、权限控制等。 说明: 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 导入模块 import …...

Golang | Leetcode Golang题解之第204题计数质数

题目&#xff1a; 题解&#xff1a; func countPrimes(n int) int {primes : []int{}isPrime : make([]bool, n)for i : range isPrime {isPrime[i] true}for i : 2; i < n; i {if isPrime[i] {primes append(primes, i)}for _, p : range primes {if i*p > n {break}…...

ELK日志系统和Filebeat采集器的学习总结

ELK是ElasticSerach、Logstash、Kina Logstash负责采集数据&#xff0c;Logstash有三个插件&#xff0c;input、filter、output&#xff0c;filter插件作用是对采集的数据进行处理&#xff0c;过滤的&#xff0c;因此filter插件可以选&#xff0c;可以不用配置。 ElasticSear…...

QML-Grid和OpacityMask

一个格子条&#xff0c;点击缩短 import QtQuick 2.0 import QtQuick.Window 2.12 import QtQuick.Controls 2.5 //导入 import QtGraphicalEffects 1.12Window {id:windowwidth: 600height: 500color: "white"visible: trueGrid {visible: falseid:gridwidth:405he…...

MySQL的并发控制、事务、日志

目录 一.并发控制 1.锁机制 2.加锁与释放锁 二.事务&#xff08;transactions&#xff09; 1.事物的概念 2.ACID特性 3.事务隔离级别 三.日志 1.事务日志 2.错误日志 3.通用日志 4.慢查询日志 5.二进制日志 备份 一.并发控制 在 MySQL 中&#xff0c;并发控制是确…...

CNN文献综述

卷积神经网络&#xff08;Convolutional Neural Networks&#xff0c;简称CNN&#xff09;是深度学习领域中的一种重要模型&#xff0c;主要用于图像识别和计算机视觉任务。其设计灵感来自于生物学中视觉皮层的工作原理&#xff0c;能够高效地处理图像和语音等数据。 基本原理…...

python语句前面有一个$是什么意思

“$”是汇编语言中的一个预定义符号&#xff0c;等价于当前正汇编到的段的当前偏移值。例如&#xff1a;指令“jmp $3”中的“$”表示当前这条指令在代码段中的偏移量。 代表当前指令的地址&#xff0c;如&#xff1a; data segment str1 db a,b,c,d leng equ $-str 就是当前地…...

wsl安装Linux系统到指定位置

默认情况下,wsl安装的系统,会安装到系统C盘,长期下去,很容易把C盘的空间消耗完,从而影响系统的正常运行,所以我建议是将wsl所有的系统都安装到其它磁盘中,便于维护。 1、导出镜像 通过wsl -l -v 查看当前已安装的系统版本。 导出到当前目录位置,也可以指定目录位置。 w…...

[笔记] 高等数学在各工程门类的典型应用场景

1.应用场景 1.微积分似乎是在解算椭圆方程中引入的&#xff1f;但是这个数学工具第一次应用于现实的工程问题是什么时候&#xff1f;什么场景&#xff1f;什么问题&#xff1f; 微积分的发展确实与椭圆方程有关&#xff0c;但它最初的应用场景远不止于此。 微积分首次被应用…...

刀片服务器和机架式服务器有何区别

刀片服务器和机架式服务器有何区别 一、物理设计&#xff1a; 刀片服务器&#xff1a;刀片服务器是一种相对较轻薄的服务器设计&#xff0c;其物理形状类似于刀片&#xff0c;通常插入到专用的刀片机箱中。每个刀片通常包含一个或多个服务器节点&#xff0c;共享一些基本的资源…...

SQLyog脚本无限试用重置脚本

文章目录 引言脚本(win)必要操作、说明 引言 SQLyog 需要po jie&#xff0c;但是网上的没看到很好使的&#xff0c;直接下的官方。能处理14天试用也是很ok的。 脚本(win) echo offREM SQLyog注册表key&#xff0c;可能跟你的不一样&#xff0c;如果不一样&#xff0c;请替换…...

代码随想录训练营第二十九天 134加油站 135分发糖果 860柠檬水找零 406根据身高重建队列

第一题&#xff1a; 原题链接&#xff1a;134. 加油站 - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a; 需要三个变量&#xff0c;一个变量start记录结果也就是出发的第一个加油站&#xff0c;一个变量curSum来记录此时加油耗油后剩余的油量&#xff0c;如果发现c…...

5分钟搞定三网话费余额查询:手把手教你用PHP+HTML搭建查询系统(含API调用避坑指南)

三网话费查询系统开发实战&#xff1a;从API调用到前端优化的全流程指南 最近在帮朋友开发一个小型话费查询工具时&#xff0c;发现市面上关于三网运营商API调用的完整教程并不多见。大多数开发者遇到问题时只能靠反复试错&#xff0c;特别是当需要同时对接移动、联通、电信三家…...

Linux文件系统架构与缓存机制解析

Linux文件系统架构与缓存机制深度解析1. 文件系统核心架构1.1 文件系统基本组织形式Linux文件系统采用分层结构设计&#xff0c;主要包含以下核心组件&#xff1a;块存储机制&#xff1a;硬盘被划分为固定大小的块&#xff08;默认4KB&#xff09;&#xff0c;文件数据分散存储…...

收藏!非计算机专业也能转AI大模型?小白/程序员必看,打消转行所有顾虑

当下人工智能&#xff08;大模型&#xff09;领域发展势头迅猛&#xff0c;成为职场人眼中的“新风口”&#xff0c;不少就业者都想抓住这波新兴行业的红利&#xff0c;跻身AI赛道。但很多人卡在了起点——担心自己的专业不对口、过往经历不相关&#xff0c;纠结犹豫迟迟不敢迈…...

3D场景重建与实时渲染:XV3DGS-UEPlugin技术指南

3D场景重建与实时渲染&#xff1a;XV3DGS-UEPlugin技术指南 【免费下载链接】XScene-UEPlugin 项目地址: https://gitcode.com/gh_mirrors/xv/XScene-UEPlugin XV3DGS-UEPlugin是由XVERSE Technology Inc.开发的基于Unreal Engine 5的混合编辑插件&#xff0c;提供Gaus…...

AD21实战:3种方法搞定Keepout和机械层互转,最后一种能救急

AD21实战&#xff1a;3种高效解决Keepout与机械层互转难题的方法 在PCB设计过程中&#xff0c;Keepout层和机械层的正确使用与转换是确保设计准确性的关键环节。许多工程师都遇到过这样的困境&#xff1a;当设计文件中包含复杂图形元素时&#xff0c;简单的层切换或属性批量修…...

Unity引擎开发过的VR大场景项目网络技术,资源处理及热更新方案的报价大概多少

根据最新的市场招标数据、行业报价案例和技术方案分析&#xff0c;针对VR大场景项目的网络技术、资源处理、热更新方案三大模块的报价&#xff0c;整理如下&#xff1a;一、网络技术方案报价 网络技术方案主要解决多人在线同步、远程渲染、低延迟通信等问题。方案类型技术选型报…...

OpenCV4编译后pkg-config失效?教你如何正确生成opencv4.pc文件(附完整CMake参数)

OpenCV4编译实战&#xff1a;从源码构建到pkg-config配置全解析 在Linux环境下从源码编译OpenCV4是许多计算机视觉开发者的必经之路&#xff0c;但不少人在成功编译后却发现pkg-config --modversion opencv命令报错"找不到opencv包"。这并非你的操作失误&#xff0c;…...

2026 年直播电商如何进化?内容创作与管理的新模式是什么?

核心要点 问题&#xff1a; 为什么很多直播电商团队在 2025 年后明显感到"内容越来越多&#xff0c;但效果越来越不稳定"&#xff1f; 答案&#xff1a; 进入 2026 年&#xff0c;直播电商从"单场爆发"转向"内容体系竞争"。真正拉开差距的&#…...

零代码也能构建智能登录系统?Dify工作流让你告别繁琐的前端开发

零代码也能构建智能登录系统&#xff1f;Dify工作流让你告别繁琐的前端开发 【免费下载链接】Awesome-Dify-Workflow 分享一些好用的 Dify DSL 工作流程&#xff0c;自用、学习两相宜。 Sharing some Dify workflows. 项目地址: https://gitcode.com/GitHub_Trending/aw/Awes…...

【Python多解释器隔离终极指南】:20年CTO亲授GIL绕过术、内存隔离与并发安全实战(附可运行代码库)

第一章&#xff1a;Python多解释器隔离的核心概念与演进脉络Python长期以来以全局解释器锁&#xff08;GIL&#xff09;为标志性设计&#xff0c;单进程内仅能存在一个活跃的CPython解释器状态&#xff08;PyInterpreterState&#xff09;&#xff0c;这使得“多解释器”长期处…...