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

一、前言

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

二、目录挂载

1、概念

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

2、命令

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

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

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

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

3、实践

访问浏览器:

Nginx首页内容被修改

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

再次访问浏览器:

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

三、卷映射

1、概念

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

2、命令

-v ngconf:/etc/nginx

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

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

3、实践

四、总结

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

相关推荐
ZGi.ai4 小时前
人工审查节点:让自动化工作流多一步人工把关
运维·人工智能·自动化·人机协同·智能体工作流·人工审查
艾莉丝努力练剑5 小时前
【Linux:文件】Ext系列文件系统进阶
linux·运维·服务器·c++·文件系统·文件io·ext
海市公约5 小时前
Linux核心基础命令与权限管理实战指南
linux·运维·服务器·vim·权限管理·系统监控·命令行
wkd_0075 小时前
Ubuntu 22.04 Samba 连接故障排查记:从“用户名或密码错误”到 NTLM 版本不兼容
linux·运维·ubuntu
企服AI产品测评局5 小时前
Agent适配信创环境实测:企业级自动化如何实现国产操作系统与数据库全兼容?
运维·数据库·人工智能·ai·chatgpt·自动化
mixboot6 小时前
Linux 进程工作目录查看利器:pwdx 命令详解
linux·运维·服务器
盖小雅6 小时前
自动化排班如何破解劳动法合规难题:从规则冲突到可追溯的排班表
大数据·运维·机器学习·自动化
NiceCloud喜云7 小时前
Claude Code Routines 实战:三种触发器跑通云端自动化编码
android·运维·数据库·人工智能·自动化·json·飞书
“码”力全开8 小时前
打破芯片与协议壁垒:基于 Docker + 边缘计算的 GB28181/RTSP 视频智能管理平台架构设计与源码交付方案
docker·音视频·边缘计算
zhz52149 小时前
服务器等保加固实施报告
运维·服务器·信创·国密·等保