使用DockerCompose安装Redis

2024-04-14 19:52

本文主要是介绍使用DockerCompose安装Redis,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本文使用docker-compose的方式安装Redis,如何未安装docker-compose,可以参考这篇文章进行安装【在Ubuntu上安装Docker Compose】

一、创建一个DockerCompose配置文件

第一步:创建相关目录文件
为了更好的组织管理Docker容器的配置文件和映射数据,这里我习惯在根目录下创建一个docker目录进行管理;

sudo mkdir /docker /docker/docker-compose /docker/redis

第二步:修改/docker目录的所以权给当前用户
如果你就只有root用户的话,不用执行这步;

sudo chown -R $USER /docker

第三步:编写redis的DockerCompose配置文件

cd /docker/docker-compose/
vim redis.yml

写入以下内容

version: '3' 
services:redis: # 定义名为 redis 的服务image: redis:6.2.14 # 使用 Redis 版本为 6.2.14 的 Docker 镜像container_name: redis-6379 #容器的名称ports:- 6379:6379 # 将容器内的 6379 端口映射到主机的 6379 端口(左边的6379是主机的端口)volumes:- /docker/redis/redis.conf:/usr/local/etc/redis/redis.conf # 将主机上的 Redis 配置文件挂载到容器内的相应位置- /docker/redis/data:/data # 将主机上的 Redis 数据目录挂载到容器内的 /data 目录- /docker/redis/logs:/var/log/redis # 将主机上的 Redis 日志目录挂载到容器内的 /var/log/redis 目录command: redis-server /usr/local/etc/redis/redis.conf # 容器启动时执行的命令restart: always # 容器的重启策略

最终的目录结构如下:
目录结构

二、创建redis的配置文件

cd /docker/redis/
touch redis.conf #创建一个空白的配置文件即可,后续要配置再修改即可。

因为我们在redis.yml里配置了- /docker/redis/redis.conf:/usr/local/etc/redis/redis.conf 进行映射,所以之后可以直接在/docker/redis/redis.conf进行配置,然后重启容器即可。
以下是我的redis.conf

# 配置密码
requirepass tiger
# 开启aof
appendonly yes
# aof文件名
appendfilename "appendonly.aof"
# aof记录的策略
appendfsync always
# appendfsync everysec
# appendfsync no

注意:容器启动时需要会加载aof、rdb等文件,默认会存在容器内的/data路径里。容器里的redis配置和物理主机上安装redis配置有点不一样,不能随意配置“dir /var/lib/redis ”去指定持久化文件的路径,否则会启动redis容器不成功,用“docker logs 容器名”查看就会知道是加载文件时没有权限!

三、启动redis容器

docker-compose -f /docker/docker-compose/redis.yml up -d

由于docker-compose启动时,默认会找当前路径下的docker-compose.yml,所以我们要用-f去指定要执行的配置文件;up 是启动命令;-d 表示后台执行。

如果因为网络原因执行失败,可以参考这篇文章修改镜像【docker更换镜像源】。

在这里插入图片描述

这篇关于使用DockerCompose安装Redis的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/903867

相关文章

一文带你搞懂Redis Stream的6种消息处理模式

《一文带你搞懂RedisStream的6种消息处理模式》Redis5.0版本引入的Stream数据类型,为Redis生态带来了强大而灵活的消息队列功能,本文将为大家详细介绍RedisStream的6... 目录1. 简单消费模式(Simple Consumption)基本概念核心命令实现示例使用场景优缺点2

使用Python开发Markdown兼容公式格式转换工具

《使用Python开发Markdown兼容公式格式转换工具》在技术写作中我们经常遇到公式格式问题,例如MathML无法显示,LaTeX格式错乱等,所以本文我们将使用Python开发Markdown兼容... 目录一、工具背景二、环境配置(Windows 10/11)1. 创建conda环境2. 获取XSLT

Python中Flask模板的使用与高级技巧详解

《Python中Flask模板的使用与高级技巧详解》在Web开发中,直接将HTML代码写在Python文件中会导致诸多问题,Flask内置了Jinja2模板引擎,完美解决了这些问题,下面我们就来看看F... 目录一、模板渲染基础1.1 为什么需要模板引擎1.2 第一个模板渲染示例1.3 模板渲染原理二、模板

浅析如何使用xstream实现javaBean与xml互转

《浅析如何使用xstream实现javaBean与xml互转》XStream是一个用于将Java对象与XML之间进行转换的库,它非常简单易用,下面将详细介绍如何使用XStream实现JavaBean与... 目录1. 引入依赖2. 定义 JavaBean3. JavaBean 转 XML4. XML 转 J

Redis中6种缓存更新策略详解

《Redis中6种缓存更新策略详解》Redis作为一款高性能的内存数据库,已经成为缓存层的首选解决方案,然而,使用缓存时最大的挑战在于保证缓存数据与底层数据源的一致性,本文将介绍Redis中6种缓存更... 目录引言策略一:Cache-Aside(旁路缓存)策略工作原理代码示例优缺点分析适用场景策略二:Re

使用Python创建一个功能完整的Windows风格计算器程序

《使用Python创建一个功能完整的Windows风格计算器程序》:本文主要介绍如何使用Python和Tkinter创建一个功能完整的Windows风格计算器程序,包括基本运算、高级科学计算(如三... 目录python实现Windows系统计算器程序(含高级功能)1. 使用Tkinter实现基础计算器2.

在.NET平台使用C#为PDF添加各种类型的表单域的方法

《在.NET平台使用C#为PDF添加各种类型的表单域的方法》在日常办公系统开发中,涉及PDF处理相关的开发时,生成可填写的PDF表单是一种常见需求,与静态PDF不同,带有**表单域的文档支持用户直接在... 目录引言使用 PdfTextBoxField 添加文本输入域使用 PdfComboBoxField

Git可视化管理工具(SourceTree)使用操作大全经典

《Git可视化管理工具(SourceTree)使用操作大全经典》本文详细介绍了SourceTree作为Git可视化管理工具的常用操作,包括连接远程仓库、添加SSH密钥、克隆仓库、设置默认项目目录、代码... 目录前言:连接Gitee or github,获取代码:在SourceTree中添加SSH密钥:Cl

Python中模块graphviz使用入门

《Python中模块graphviz使用入门》graphviz是一个用于创建和操作图形的Python库,本文主要介绍了Python中模块graphviz使用入门,具有一定的参考价值,感兴趣的可以了解一... 目录1.安装2. 基本用法2.1 输出图像格式2.2 图像style设置2.3 属性2.4 子图和聚

windows和Linux使用命令行计算文件的MD5值

《windows和Linux使用命令行计算文件的MD5值》在Windows和Linux系统中,您可以使用命令行(终端或命令提示符)来计算文件的MD5值,文章介绍了在Windows和Linux/macO... 目录在Windows上:在linux或MACOS上:总结在Windows上:可以使用certuti