当前位置: 首页 > news >正文

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

一、前言

   之所以讲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.mrgr.cn/news/46921.html

相关文章:

  • mysql主从配置
  • SpringCloud 集成 OpenFeign 实战指南
  • 数据库迁移中的权限问题及解决方法——以Error 1142为例
  • 深入理解HTTP Cookie
  • FineReport报表查询初始化直接显示表头内容
  • 基于SSM的民宿管理系统【附源码】
  • 基于SpringBoot vue的CSGO赛事管理系统设计与实现
  • Python 静态方法与类方法详解
  • 全面了解入侵防御系统(IPS)原理
  • jdk 11.0.8 配置 classpath
  • 开源气象大模型的原理解析
  • 十年的代购经验总结一套完善的代购集运系统需要哪些功能必备哪些优势?
  • Vue打印网页pdf,并且有按钮调整缩小放大
  • SeaTunnel Web1.0.0安装
  • Unity转Unreal5之从入门到精通 Spline(样条曲线)组件的使用
  • 六西格玛设计DFSS方法论在消费级无人机设计中的应用——张驰咨询
  • 编程题 7-16 求符合给定条件的整数集【PAT】
  • LEAP模型的低碳路径建模与温室气体核算方法!详细
  • 大学的离散数学:探索数学的逻辑之美
  • R语言的Meta分析【全流程、不确定性分析】方法与Meta机器学习技术应用