首页 > 数据库 >谷粒商城学习-11-docker安装redis

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

时间:2024-07-05 12:30:38浏览次数:3  
标签:11 容器 redis Redis conf 镜像 docker

文章目录

一,拉取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,容器,redis,Redis,conf,镜像,docker
From: https://blog.csdn.net/epitomizelu/article/details/140204631

相关文章

  • QILSTE H11-212QLB高亮蓝光LED灯珠 发光二极管LED
    型号H11-212QLB/5M,一款由QILSTE(HongKong)TechnologyCo.,Ltd生产的高亮蓝光LED,以其2.0x1.25x1.1mm的紧凑外观尺寸和透明平面胶体,在SMT组装和焊接工艺中展现出卓越的性能。在**最大绝对额定值**中,H11-212QLB/5M的参数如下:消耗功率为90mW,最大脉冲电流可达100mA,正向直流工作电流......
  • QILSTE H11-316QSR高亮红光LED灯珠 发光二极管LED
    型号H11-316QSR,一款由QILSTE(HongKong)TechnologyCo.,Ltd生产的高亮红光LED,以其3.2×1.5×1.1mm的紧凑外观尺寸和透明平面胶体,在自动贴片机和红外线回流焊制程中展现出卓越的性能。在**最大绝对额定值**中,H11-316QSR的参数如下:消耗功率为75mW,最大脉冲电流可达100mA,正向直......
  • Docker 构建nginx镜像
     步骤:(1)创建一个目录,把构建Nginx的Dockerfile文件保存到此目录。创建一个名为nginxDockerfile的目录。mkdirnginxDockerfile(2)进入刚才创建好的目录。cdnginxDockerfile(3)创建Dockerfile文件。vimdockerfile 文件内容如下FROMcentosMAINTAINERxpxRUNyum......
  • 代码随想录算法训练营第十三天|今天量大管饱144、145、94、102、107、199、637、429、
    今天来处理二叉树part1、2、3,顶级享受,一次到位。完全二叉树和满二叉树概念没问题。二叉搜索树,左子树所有结点的值小于它的根结点的值,右子树上所有结点的值大于它的根结点的值平衡二叉搜索树,它是一棵空树或它的左右两个子树的高度差的绝对值不超过1。二叉树的存储方式:链式存储......
  • Redis详解
    Redis是一个开源的内存数据库,它属于NoSQL数据库的一种,以其高性能、支持丰富的数据结构、持久化特性、复制、集群以及发布/订阅等特性而闻名。以下是Redis的详细说明:一、Redis的基本介绍定义:Redis(RemoteDictionaryServer)是一个高性能的键值对存储系统,它可以用于缓存、消息队......
  • spring-11
    什么是bean的自动装配   Bean的自动装配是SpringIoC容器在创建和配置Bean时通过自动识别Bean之间的依赖关系,自动将相互关联的Bean进行连接的一种机制。在Spring容器中,通过使用@Autowired注解、@Resource注解或者在XML配置文件中使用<bean>元素的autowire属性来实现B......
  • Windows中配置python3.11环境安装教程
    在Windows中配置Python3.11环境,可以按照以下步骤进行:1.下载Python3.11打开Python的官方网站:https://www.python.org/导航到“Downloads”部分,并选择“Windows”。在“Windows”页面中,找到Python3.11的版本,点击下载适合你系统架构(32-bit或64-bit)的安装程序。2.安装Py......
  • 11种常见的外贸客户获客渠道
    外贸客户开发是外贸业务中的重要环节,也是企业拓展海外市场的关键步骤。在茫茫的外贸海洋里,怎么准确地捕捞到那些客户,是我们每个外贸小伙伴都应面对的挑战。让我们一起来探索以下10种外贸客户开发的方法,帮助企业更好地开拓海外市场,提高业务量和客户满意度。一、展会营销展会是......
  • 搭建高效攻防靶场vulfocus与Docker仓库管理实战:从听说到入门系列
    搭建高效攻防靶场vulfocus与Docker仓库管理实战:从听说到入门系列vulfocus简介vulfocus,作为一款前沿的漏洞集成平台,它巧妙地将多种最新的CVE漏洞环境封装于Docker容器之中,便于部署与操作,成为提升安全实战技能的理想靶场。用户既可选择在本地VMware环境中亲手搭建,享受从零到一的......
  • UI 自动化分布式测试 - Docker Selenium Grid
    Docker和 SeleniumGrid 的结合为分布式UI自动化测试提供了一种高效、可扩展且易于管理的方法。通过使用Docker容器化技术,测试环境的设置和配置变得更加简便和一致;而SeleniumGrid则允许在多个节点上并行运行分布式测试,从而大大提升测试的速度和覆盖范围。 分布......