Docker 安装 Redis 容器

系列文章目录


文章目录

  • 系列文章目录
  • 前言
  • 1 获取redis镜像
  • 2 创建和部署redis容器
  • 3 查看redis是否启动成功
  • 4 使用Redis客户端验证连接
  • 总结


前言

搭建环境:
ubuntu22.04.05
docker
redis: 7.0.10

测试环境:
windows: win11
Redis测试客户端:Tiny RDM


1 获取redis镜像

sudo docker pull redis:7.0.10

这里镜像拉取超时,请移步娶我另一篇文章:从Docker拉取镜像一直失败超时解决办法

2 创建和部署redis容器

docker run -d -p 6379:6379 --restart=always \
-v redis_config:/etc/redis/config \
-v redis_data:/data \
--name redis redis:7.0.10 \
redis-server /etc/redis/config/redis.conf

关键参数功能
1. 容器运行模式与网络设置
-d:让容器以守护进程模式在后台运行,不会占用当前终端。
-p 6379:6379:将宿主机的 6379 端口和容器内部的 6379 端口进行映射,这样外部就能通过宿主机的 6379 端口访问 Redis 服务。
2. 容器重启策略
–restart=always:设置容器的重启策略为始终重启。不管是容器自身出现故障停止运行,还是 Docker 服务重启,亦或是宿主机重启,容器都会自动重新启动,确保 Redis 服务的高可用性。
3. 数据卷挂载情况
-v redis_config:/etc/redis/config:把名为 redis_config 的 Docker 命名卷挂载到容器内的 /etc/redis/config 目录,这个目录主要用于存放 Redis 的配置文件。
-v redis_data:/data:将名为 redis_data 的 Docker 命名卷挂载到容器内的 /data 目录,Redis 的数据文件会存储在这里,实现了数据的持久化存储。
4. 容器标识与基础镜像
–name redis:给容器命名为 redis,方便后续对容器进行管理和操作。
redis:指定使用 Docker Hub 上的官方 Redis 镜像来创建容器。
5. 容器启动命令
redis-server /etc/redis/config/redis.conf:这是容器启动时执行的命令,它会启动 Redis 服务器,并使用挂载的配置卷中的 redis.conf 配置文件来对 Redis 进行配置。
数据持久化与配置机制

  • 配置文件管理:通过挂载 redis_config 卷,你可以在宿主机上对 Redis 的配置文件进行修改,修改后无需重新创建容器,只需重启容器就能让新配置生效。
  • 数据持久化存储:redis_data 卷会保存 Redis 的所有数据。当容器被删除后重新创建,只要不删除这个数据卷,Redis 的数据就不会丢失。

注意要点

  1. 数据卷初始化操作:首次启动容器时,如果 redis_config 卷中没有 redis.conf 文件,Redis 会使用默认配置运行。你可以先不挂载配置卷启动容器,然后把容器内的默认配置文件复制到宿主机,再进行挂载。
  2. 配置文件权限问题:要保证宿主机上挂载的配置文件对容器内的 Redis 进程有可读权限,否则 Redis 可能无法正常启动。
  3. 生产环境参数设置:在生产环境中,建议根据实际需求调整 redis.conf 中的参数,例如设置密码、调整内存策略等。

通过这种方式部署 Redis 容器,能够实现配置与数据的分离,便于后续的维护和升级。

3 查看redis是否启动成功

1、查看docker容易redis的状态

sudo docker ps -a

在这里插入图片描述
此时状态是Restarting,是有问题的。

2、查看redis日志

sudo docker logs -f redis

在这里插入图片描述
3、查看数据卷详情

sudo docker volume inspect redis_config

在这里插入图片描述
4、进入此目录:

cd /var/lib/docker/volumes/redis_config/_data

注意:必须切换为root用户

5、创建redis.conf文件

touch redis.conf

6、在此文件中,添加以下内容

appendonly yes
port 6379	
requirepass 1234
bind 0.0.0.0	

配置好以后,重启redis:

docker restart redis

7、再次查看docker的redis容器状态

docker ps -a

在这里插入图片描述
此时成功

4 使用Redis客户端验证连接

使用的Redis客户端为Tiny RDM,下载地址为:Tiny RDM官网下载
安装完成以后打开:

1、创建连接
在这里插入图片描述
2、点击测试连接
在这里插入图片描述
3、点击确定,如下
在这里插入图片描述
此时,环境已经搭建完成。


总结

以上,就是在ubuntu上面使用docker部署redis的过程。

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

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

相关文章

学习vue3阶段性复习(插槽,Pinia,生命周期)

目录 插槽(匿名插槽,具名插槽) 插槽概述 匿名插槽 具名插槽 Pinia(统一管理,共享数据) pinia概述 安装和使用Pinia 1 使用命令下载Pinia 2 再main.js中导入,注册到vue框架中 3使用pinia 持久化存储插件 1 第一步&…

嵌入式Linux 期末复习指南(上)

鉴于互联网上针对本科目相关复习视频及资料过少, 撰写本篇期末复习指南用作期末复习知识点扫盲,以应对本科期末考试及格之用。 由于任课老师并透露考试范围或任何有关试卷的相关信息,本篇指南基于教材、上机实验报告及作者经验编写&#xff0…

VScode ios 模拟器安装cocoapods

使用 Homebrew 安装(推荐) 如果你有 Homebrew,直接用它安装更稳定: brew install cocoapods

Python趣学篇:用Pygame打造绚烂流星雨动画

名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 专栏介绍:《Python星球日记》 目录 一、项目简介与效果展示二、技术栈与核…

可视化大屏通用模板Axure原型设计案例

本文将介绍一款基于Axure设计的可视化大屏通用模板,适用于城市、网络安全、园区、交通、社区、工业、医疗、能源等多个领域。 模板概述 这款Axure可视化大屏通用模板集成了多种数据展示模块和组件,旨在为用户提供一个灵活、可定制的数据展示平台。无论…

20250530-C#知识:万物之父Object

C#知识:万物之父Object Object类(即object)是所有类的基类,这里面的方法还是需要好好了解一下。 1、Object类 是顶级父类,其他类默认都是Object类的子类(自定义类也会默认继承Object类)可以用O…

苹果应用开发详细教程(2025最新版)

苹果应用开发详细教程(2025最新版) 第一阶段:开发环境搭建 硬件准备 Mac电脑(macOS Monterey 12或更高版本)iPhone/iPad(真机调试建议iOS 16+)软件安装 # 通过App Store安装Xcode xcode-select --installXcode 15+(包含Swift 5.9编译器)安装CocoaPods(依赖管理工具)…

flutter项目迁移空安全

重中之重 备份好项目文件,甚至连已经加载好的flutter库也可以备份。环境包升级 2.1 不要直接换成flutter:3.0以上的版本,这样做既有基本的库兼容问题,又有空安全下的语法问题(整个项目中需要增加 late、?、!的语法错误,一片报错的…

架构师面试题整理

以下是从提供的HTML代码中提取的所有class"title-txt"的文本内容,已排除重复项并按顺序整理: 缓存专题 实战解决大规模缓存击穿导致线上数据库压力暴增面试常问的缓存穿透是怎么回事基于DCL机制解决突发性热点缓存并发重建问题实战Redis分布…

pytest 中 fixture 与类继承交互导致的问题

文章目录 问题分析将属性绑定到 **类** 上使用 scopefunction 解决方法为什么有两个不同的对象核心原因:fixture 的执行上下文scopefunction 的情况scopeclass 的情况 为什么 pytest 要这样做?这是 pytest 的设计局限 总结 本文探讨 Pytest 中 fixture 作…

uniapp+ts模拟popup弹出框(下拉框)

效果图&#xff08;未展开的样子&#xff09;&#xff1a; 效果图&#xff08;展开的样子&#xff09;&#xff1a; 子组件代码&#xff1a; <!--* Date: 2024-04-26 14:30:00* LastEditTime: 2025-05-29 09:01:06* Description: 技术服务 --> <template><view …

中小型企业大数据平台全栈搭建:Hive+HDFS+YARN+Hue+ZooKeeper+MySQL+Sqoop+Azkaban 保姆级配置指南

目录 背景‌一、环境规划与依赖准备‌1. 服务器规划(3节点集群)2. 系统与依赖‌3. Hadoop生态组件版本与下载路径4. 架构图二、Hadoop(HDFS+YARN)安装与配置‌1. 下载与解压(所有节点)2. HDFS高可用配置3. YARN资源配置‌4. 启动Hadoop集群三、MySQL安装与Hive元数据配置…

谷粒商城-分布式微服务项目-高级篇[三]

十五、商城业务-支付 15.1 支付宝支付 15.1.1 进入“蚂蚁金服开放平台” 支付宝开放 平台地址&#xff1a; 支付宝开放平台 15.1.2 下载支付宝官方 demo&#xff0c;进行配置和测试 开发者文档&#xff1a;支付宝开放平台文档中心 电脑网站支付文档&#xff1a;小程序文…

DeepSeek 赋能低空经济:无人机智能调度的破局之道

目录 一、引言二、DeepSeek 技术探秘2.1 DeepSeek 技术核心要点2.2 与传统技术对比优势 三、低空经济无人机调度挑战剖析3.1 飞行控制困境3.2 数据处理难题3.3 系统集成阻碍 四、DeepSeek 应用方案与成果4.1 智能调度与路径规划4.2 自主飞行与协同控制4.3 通信与数据链优化4.4 …

【Kubernetes】ubuntu20.04通过kubeadm + Docker安装k8s

Kubernetes v1.24集群安装配置步骤总结 一、环境准备 &#xff08;一&#xff09;系统要求 运行兼容deb/rpm的Linux操作系统&#xff08;如Ubuntu或CentOS&#xff09;的计算机&#xff0c;1台或多台。每台机器内存2GB以上&#xff0c;内存不足会限制应用运行。控制平面节点…

计算机视觉NeRF

NeRF与3DGS学习 NeRF计算机视觉的问题NeRF定义神经辐射场场景表示基于辐射场的体渲染分层采样优化神经辐射场 基础知识初始化SFM基础矩阵 & 本质矩阵 & 单应矩阵从已经估得的本质矩阵E&#xff0c;恢复出相机的运动R,tSVD 分解 NeRF NeRF资源 计算机视觉的问题 计算…

工业手持PDA终端,有哪些作用?

工业手持PDA终端&#xff08;便携式数据采集终端&#xff09;&#xff0c;是专为工业场景设计的智能化工具&#xff0c;拥有强大的数据采集和处理能力。通过内置的条码扫描功能&#xff0c;PDA能够快速准确地获取信息&#xff0c;避免了人工录入可能出现的错误&#xff0c;大大…

Spark-TTS: AI语音合成的“变声大师“

嘿&#xff0c;各位AI爱好者&#xff01;还记得那些机器人般毫无感情的合成语音吗&#xff1f;或者那些只能完全模仿但无法创造的语音克隆&#xff1f;今天我要介绍的Spark-TTS模型&#xff0c;可能会让这些问题成为历史。想象一下&#xff0c;你可以让AI不仅说出任何文字&…

C++链式调用与Builder模式

在C++中实现链式调用(如 a.b().c().d())的关键是让每个成员函数返回对象的引用(通常是 *this),从而允许连续调用其他成员函数。这种模式常见于方法链(Method Chaining)或流式接口(Fluent Interface)。下面是实现链式调用的具体方法和示例: 实现原理 返回对象引用:每…

SQL的查询优化

1. 查询优化器 1.1. SQL语句执行需要经历的环节 解析阶段&#xff1a;语法分析和语义检查&#xff0c;确保语句正确&#xff1b;优化阶段&#xff1a;通过优化器生成查询计划&#xff1b;执行阶段&#xff1a;由执行器根据查询计划实际执行操作。 1.2. 查询优化器 查询优化器…