理解容器挂载点

容器中新创建的文件基于挂载点(工作目录)创建

为什么?

将硬盘分区格式化后便能存入数据,这时必须通过一个工作目录来操作文件系统(可以是任意目录)只要将文件系统挂载到工作目录,便可以通过目录操作文件系统。

文件系统必须挂载到某个目录才能通过路径访问;相对路径创建文件时以当前工作目录为起点解析路径。只要文件系统挂载到工作目录,你就能通过这个目录来操作文件系统,容器内创建的文件自然会落到该挂载点对应的存储位置上。

文件系统能存数据,但必须先"挂载"才能被操作

硬盘分区格式化之后,文件系统结构已经建立,具备了存入数据的能力。但在 Linux 里,磁盘分区并不会自动变成你可以 cd 进入的目录。Linux 采用统一的目录树结构,所有文件和目录都必须在这棵树上通过路径来访问。

因此,一个独立的文件系统想要被使用,必须先挂载到目录树中的某个目录上。这个目录就是挂载点,也可以理解为"工作目录入口"。挂载点可以是任意已经存在的目录,例如 /data/mnt/disk1。只要将文件系统挂载到这个目录,你就可以通过对该目录及其子目录的操作,来读写这个文件系统中的内容。

换句话说,文件系统真正存放数据,但你操作它的方式是"通过目录"。目录只是入口,挂载把入口与某个文件系统绑定在一起。

容器里的目录同样依赖挂载,工作目录决定了相对路径的落点

容器本质上运行的是 Linux 进程,文件创建依然遵循 Linux 的规则。创建文件时,如果使用的是相对路径(例如 touch a.txt),系统会以当前工作目录作为起点来解析路径。当前目录是哪里,文件就会创建到哪里。

容器场景中,工作目录往往被固定在某个路径上,或者被你在启动容器时显式指定。更常见的是,这个工作目录恰好是一个挂载点,例如把宿主机目录或数据卷挂载到了容器的 /app/data 之类的位置。此时你在该目录下创建的文件,看起来就是"基于挂载点创建",因为你对目录的写入实际落在挂载进来的文件系统上。

这也是为什么有时你删除容器后文件还在,因为文件写到了挂载进来的卷或宿主机目录里;而有时删除容器文件就消失了,因为写入发生在容器自身的可写层里。

相关推荐
Trouvaille ~10 小时前
【Linux】进程间关系与守护进程详解:从进程组到作业控制到守护进程实现
linux·c++·操作系统·守护进程·作业·会话·进程组
生而为虫11 小时前
[Windows] 【浏览器自动化精灵V1.0】用Excel表格控制浏览器的自动化
运维·自动化
Fcy64811 小时前
Linux下 进程(二)(进程状态、僵尸进程和孤儿进程)
linux·运维·服务器·僵尸进程·孤儿进程·进程状态
ZFB000111 小时前
【麒麟桌面系统】V10-SP1 2503 系统知识——救援模式显示异常
linux·kylin
第七序章11 小时前
【Linux学习笔记】初识Linux —— 理解gcc编译器
linux·运维·服务器·开发语言·人工智能·笔记·学习
迎仔11 小时前
A-总览:GPU驱动运维系列总览
linux·运维
tiantangzhixia11 小时前
Master PDF Linux 平台的 5.9.35 版本安装与自用
linux·pdf·master pdf
AI_567811 小时前
阿里云OSS成本优化:生命周期规则+分层存储省70%
运维·数据库·人工智能·ai
yyy的学习记录11 小时前
Ubuntu下urdf模型转换成proto模型
linux·运维·ubuntu
礼拜天没时间.11 小时前
自定义镜像制作——从Dockerfile到镜像
linux·docker·容器·centos·bash