理解容器挂载点

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

为什么?

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

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

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

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

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

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

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

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

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

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

相关推荐
阿里云云原生17 小时前
深入内核:拆解 OpenTelemetry eBPF 探针如何优雅地“透视”多语言微服务?
云原生
大树8817 小时前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠17 小时前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质18 小时前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
bush418 小时前
嵌入式linux学习记录十四、术语
linux·嵌入式
载数而行52018 小时前
Linux 11 动态监控指令top
linux
Inhand陈工19 小时前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信
酣大智19 小时前
ARP代理--工作原理
运维·网络·arp·arp代理
不会C语言的男孩19 小时前
Linux 系统编程 · 第 8 章:进程基础
linux·c语言
shushangyun_19 小时前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化