11 docker安装redis

目录

安装redis

1. 配置redis配置文件redis.conf

1.1. 找到redis.conf文件

1.2. 配置文件

2. 启动容器

3. 测试redis-cli连接

4. 证明docker使用的是指定的配置文件


安装redis

1. 配置redis配置文件redis.conf

1.1. 找到redis.conf文件
  1. 宿主机创建目录/app/redis
  2. /app/redis下配置文件redis.conf,主要修改以下几项配置

找到redis的模板文件,复制过来([root@rockylinux redis]# cp /etc/redis/redis.conf . )

[root@rockylinux redis]# vim /usr/lib/systemd/system/redis.service

1.2. 配置文件

📎# Redis configuration file example..txt

# 开启密码验证(可选)
requirepass 123# 允许redis外地连接,需要注释掉绑定的IP
# bind 127.0.0.1# 关闭保护模式(可选)
protected-mode no# 注释掉daemonize yes,或者配置成 daemonize no。因为该配置和 docker run中的 -d 参数冲突,会导致容器一直启动失败
daemonize no# 开启redis数据持久化, (可选)
appendonly yes

2. 启动容器

因为要使用自定义的配置文件,所以需要指定容器运行的命令为redis-server 容器内配置文件路径

docker run -d -p 6379:6379 --name redis --privileged=true \-v /app/redis/redis.conf:/etc/redis/redis.conf \-v /app/redis/data:/data \redis:6.0.8 \redis-server /etc/redis/redis.conf

redis-server /etc/redis/redis.conf: 使用 Redis 6.0.8 镜像运行 Redis 服务器,并使用指定的配置文件启动

[root@rockylinux ~]# docker ps
CONTAINER ID   IMAGE         COMMAND                  CREATED         STATUS         PORTS                                       NAMES
b9cdc46bd1cf   redis:6.0.8   "docker-entrypoint.s…"   2 minutes ago   Up 2 minutes   0.0.0.0:6379->6379/tcp, :::6379->6379/tcp   redis

注:如果此处docker ps 看不见 容器,可以只用docker logs 容器id 查看日志排错

3. 测试redis-cli连接

[root@rockylinux ~]# docker exec -it redis /bin/bash
root@b9cdc46bd1cf:/data# redis-cli
127.0.0.1:6379> set k1 v1
OK
127.0.0.1:6379> get k1
"v1"

4. 证明docker使用的是指定的配置文件

Redis 默认有 16 个数据库,编号从 0 到 15。每个数据库是独立的,可以存储不同的数据,但它们共享同一个 Redis 服务器实例。默认情况下,所有操作都在数据库 0 中进行。使用 select 命令可以在不同数据库之间切换

修改redis.conf 把 databases 16 改为 databases 10

127.0.0.1:6379> select 15
OK
127.0.0.1:6379[15]> exit
root@b9cdc46bd1cf:/data# exit
exit
[root@rockylinux ~]# vim /app/redis/redis.conf 
databases 10

重启容器并redis-cli测试

[root@rockylinux ~]# docker restart redis #重启容器
redis
[root@rockylinux ~]# docker exec -it redis /bin/bash 
root@b9cdc46bd1cf:/data# redis-cli 
127.0.0.1:6379> select 11
(error) ERR DB index is out of range
127.0.0.1:6379> select 15 
(error) ERR DB index is out of range
127.0.0.1:6379> select 9 #范围为10以内 15 11均不能切换
OK

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

WebXR:Web上的虚拟与增强现实技术

WebXR 是一种允许在网页上创建虚拟现实 (VR) 和增强现实 (AR) 体验的技术标准,它结合了WebVR和WebAR的概念,为开发者提供了一个统一的平台来开发跨平台的沉浸式Web应用。 WebXR 概述 什么是WebXR? WebXR API 旨在让浏览器成为VR和AR内容的平…

双非怎么进大厂?

https://www.nowcoder.com/share/jump/2764630231719583704126 大家好,我是白露啊。 今天我们要分享一个非常励志的故事,它证明了双非背景的毕业生也可以通过努力和坚持,进入梦想中的大厂。 下面是这位网友的真实经历,希望能为正…

泰安再见,泰山OFFICE还会再见

路过泰安,遇见彩虹。怀念和感恩在泰山信息科技的万丈豪情。 泰山OFFICE,还是要复活。

JavaScript Set新增7个方法操作集合

intersection() intersection () 它返回一个包含此集合和给定集合中所有元素的新集合。 const odds new Set([1, 3, 5, 7, 9]);const squares new Set([1, 4, 9]);console.log(odds.intersection(squares)); // Set(2) { 1, 9 }union() union () 它返回一个包含此集合中所有元…

提升Android Studio开发体验:使用Kelp插件实现颜色和图标预览

提升Android Studio开发体验:使用Kelp插件实现颜色和图标预览 在Android开发中,自动补全功能对于提高开发效率至关重要。然而,默认的Android Studio并不能预览颜色和图标,这使得开发者在选择资源时常常感到困惑。本文将介绍如何使…

【C语言小知识】备选拼写:iso646.h头文件

备选拼写:iso646.h头文件 C语言中有3种逻辑运算符: 逻辑运算符含义&&与||或!非 假设exp1和exp2是俩个简单的关系表达式,那么 当且仅当exp1和exp2都为真时,exp1 && exp2才为真。如果exp1或exp2为真,…

【学习笔记】Fréchet距离的 C 语言实现

Frchet 距离 Frchet 距离,又称为弗雷歇距离,是一种衡量两条曲线(或两个路径)之间相似性的度量方法。这个概念最初在度量空间理论中被定义,后来被广泛应用于计算机科学、地理信息系统、图像处理、生物信息学等多个领域…

使用Python实现深度学习模型:迁移学习与领域自适应教程

引言 迁移学习和领域自适应是深度学习中的两个重要概念。迁移学习旨在将已在某个任务上训练好的模型应用于新的任务,而领域自适应则是调整模型以适应不同的数据分布。本文将通过一个详细的教程,介绍如何使用Python实现迁移学习和领域自适应。 环境准备…

Visual Studio常见问题

VS的文件路径为什么要用双斜杠(\)? 答:在编程时,写入文件的路径如image = cvLoadImage("C:\Users\lyb\Documents),这种写法在编译时不会报错,但在运行时会报错,报错图像读入为空,这是因为Windows的路径虽然用的是单斜杠,但在编程时的意义是不同的,单斜杠“\”…

Go语言中的可变参数:灵活而强大的函数参数

Go语言中的可变参数:灵活而强大的函数参数 在Go语言中,可变参数是一种非常有用的特性,它允许函数接受任意数量的参数。这种灵活性使得函数可以更加通用和可复用。本文将深入探讨Go语言中可变参数的用法、原理和最佳实践。 什么是可变参数? 可变参数允许你传递零个或多个值给…

LNMP架构搭建Discuz论坛

LNMP架构是一种用于搭建Web服务器环境的常用架构,由Linux、Nginx、MySQL和PHP组成 组成功能Linux作为操作系统的基础,提供稳定的环境Nginx作为反向代理服务器,处理客户端的请求并将他们转发给后端的应用服务器MySQL作为关系型数据库管理系统…

7.2 数据结构

作业 #include <stdio.h> #include <string.h> #include <stdlib.h> struct student {char name[32];int age;double score; }s[3];void stu_input(struct student *s,int n) {printf("请输入%d个学生的信息&#xff08;姓名&#xff0c;年龄&#xff0…

【服装识别系统】图像识别+Python+人工智能+深度学习+算法模型+TensorFlow

一、介绍 服装识别系统&#xff0c;本系统作为图像识别方面的一个典型应用&#xff0c;使用Python作为主要编程语言&#xff0c;并通过TensorFlow搭建ResNet50卷积神经算法网络模型&#xff0c;通过对18种不同的服装&#xff08;‘黑色连衣裙’, ‘黑色衬衫’, ‘黑色鞋子’, …

Python机器学习实战:利用决策树算法预测鸢尾花种类

引言 在人工智能领域&#xff0c;机器学习作为一种强大的工具正在改变我们对数据的认知和处理方式。Python因其丰富的机器学习库和直观易用的特性&#xff0c;成为了众多开发者首选的语言。本篇文章将带领大家深入了解如何运用Python中的scikit-learn库来构建决策树模型&#…

关系型数据库和矢量数据库分别适用于哪些领域?

关系型数据库和矢量数据库分别适用于哪些领域&#xff1f; 李升伟 关系型数据库适用于以下领域&#xff1a; 1. 金融行业&#xff1a;如银行的交易处理、账户管理等&#xff0c;对数据的一致性和事务处理要求极高。 2. 企业资源规划&#xff08;ERP&#xff09;&#xff1a…

Meta 发布 Meta 3D Gen 文本生成3D模型

Meta推出了 Meta 3D Gen &#xff08;3DGen&#xff09;&#xff0c;这是一种用于文本到 3D 资产生成的最先进的快速管道。3DGen 可在一分钟内提供具有高提示保真度和高质量 3D 形状和纹理的 3D 资产创建。 它支持基于物理的渲染 &#xff08;PBR&#xff09;&#xff0c;这是…

网口串口(Serialport)服务器

文章所用工具http://t.csdnimg.cn/2gIR8http://t.csdnimg.cn/2gIR8 搭建服务器界面 操作配置文件保存方式类 public string FileName { get; set; }public IniHelper(string name) {this.FileName name; //在构造函数中给路径赋值} 1 先导入c语言进行读取操作ini文件的方法 …

Python基于you-get下载网页上的视频

​ 1.python 下载地址 下载 : https://www.python.org/downloads/ 2. 配置环境变量 配置 python_home 地址 配置 python_scripts 地址 在path 中加入对应配置 3. 验证 ​ C:\Users>python --version Python 3.12.4C:\Users>wheel version wheel 0.43.04. 下载 c…

Android SurfaceFlinger——本地窗口连接EGL API(二十四)

通过前面的文章我们属性了 Surface 和 EGLSurface 的相关内容,这里我们继续分析让两者相关联的函数 native_window_api_connect()。 一、连接EGL API 1、window.h native_window_api_connect 源码位置:/frameworks/native/libs/nativewindow/include/system/window.h st…