【docker】存储之目录挂载和卷映射

server/2024/10/17 19:56:48/

一、前言

   之所以讲Docker存储的目录挂载和卷映射,是因为之前我们在做关于修改下载的镜像的内容的时候,我们会发现,这个修改的过程比较复杂的,我们需要多个指令,层层深入。而且如果我们的容器一旦销毁后重新启动,那么原来的数据就会丢失。所以为了解决容器内部的数据管理的困难数据丢失问题,我们引入了目录挂载这种操作!

二、目录挂载

1、概念

在我们自己的机器上可以专门开辟一个目录,然后将这个目录和对应容器的目录做一个关联关系,这样一来,修改外部目录可以影响容器内部目录,容器内部目录的修改也可以影响外部目录,而且当容器销毁后用同样的命令重新建立,外部目录的内容不会丢失,可重新映射回容器内部的目录。

2、命令

在启动容器的时候,使用 -v 命令

-v /app/nghtml:/usr/share/nginx/html

/app/nghtml :表示自己写的外部主机的目录位置,如果没有,docker会为你自动建立

/usr/share/nginx/html:容器对应的内容的一个目录位置,这个需要到docker_hub中的对应镜像中去找

3、实践

e976afd92e3448eaa09680582afd83cd.png

访问浏览器:

Nginx首页内容被修改

e74ea959566b488eb9765c154562f8d6.png

删除ID为cf0开头的容器,使用相同命名重新下载Nginx,观察Nginx首页内容是否被修改为1111

cb87f8c10029437e9b601a773e975167.png

再次访问浏览器:

1af23fa2156c4a00a0fc74431829db9c.png

结果为1111,数据未丢失,测试成功!

三、卷映射

1、概念

卷映射与我们目录挂载不同点在于,使用目录挂载的时候是将容器目录与我们外部目录同步,即刚开始时外部目录是什么样的,对应容器目录就是什么样的。而卷映射是说,在一开始我们会创建一个卷与我们需要关联的容器目录同步,即卷一开始就会有容器目录中的内容,与其保持一致!

2、命令

-v ngconf:/etc/nginx

ngconf:卷名称,要与目录挂载区别,不需要“/”等

/etc/nginx:容器内部的目录位置

3、实践

46e2575a67df4745a42b27243f038b7a.png

四、总结

这部分的内容还是挺重要的,对于我们防止数据的丢失有很大的帮助,最主要的就是两个命令的理解以及使用,大家下来自己在dcoker上敲敲命令即可!

 


http://www.ppmy.cn/server/131294.html

相关文章

用python做一个简单的画板

一,画板的介绍 画板(Paint Board)是一个提供用户绘图、涂鸦和创作的平台。现代数字画板通常是由软件程序实现的,具有多种功能。以下是画板的一些主要特征和功能: 1. 基本绘图工具 画笔和铅笔:用户可以选…

缓存预热技术详解:提升系统性能的关键

在现代分布式系统中,缓存是提升系统性能和减轻数据库负载的重要组件。缓存预热(Cache Warming)是指在系统启动或重启时,提前将常用的数据加载到缓存中,以避免缓存冷启动时的性能问题。本文将详细探讨缓存预热的原理、优…

Flutter获取手机的IP地址

前言 NetworkInterface 提供了查询设备网络接口的能力,包括获取与特定网络接口相关的 IP 地址。 NetworkInterface的常用属性 addresses与该接口关联的 IP 地址的列表,返回一个包含多个 InternetAddress 对象的列表name网络接口的名称,例如…

Python cachetools常用缓存算法汇总

文章目录 cachetools介绍缓存操作设置数据生存时间(TTL)自定义缓存策略缓存装饰器缓存清理cachetools 超过缓存数量maxsize cachetools 使用示例 cachetools介绍 cachetools : 是一个Python第三方库,提供了多种缓存算法的实现。缓存是一种用于…

异步请求与CGI开发:深入理解与实践

文章目录 异步请求与CGI开发:深入理解与实践1. 异步请求(JavaScript 和 Fetch API)1.1 异步请求的概述1.2 Fetch API**GET 请求:****POST 请求:****PUT 请求:****DELETE 请求:** 1.3 XMLHttpReq…

dbt doc 生成文档命令示例应用

DBT提供了强大的命令行工具,它使数据分析师和工程师能够更有效地转换仓库中的数据。dbt的一个关键特性是能够为数据模型生成文档,这就是dbt docs命令发挥作用的地方。本教程将指导您完成使用dbt生成和提供项目文档的过程。 dbt doc 命令 dbt docs命令有…

模板方法模式、策略模式(C++)

模板方法模式: 定义:定义一个操作算法的框架,实现步骤延迟到子类中去实现 策略模式: 定义:定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。该模式使得算法可独立于使用它的客户…

macOS Sequoia 15.0.1

macOS Sequoia 推出了一系列新功能,可助你在 Mac 上提高生产力和创造力。通过最新连续互通功能 iPhone 镜像,你可以在 Mac 上访问整个 iPhone。轻松平铺窗口快速打造理想工作空间,还可查看通过演讲者前置演示时即将共享的内容。经过重大更新的…