理解容器挂载点

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

为什么?

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

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

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

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

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

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

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

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

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

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

相关推荐
Dlrb12112 分钟前
信息查询Web服务器-->电子商城信息查询项目
linux·服务器·数据库·html·嵌入式·epoll·数据查询
纳兰青华15 分钟前
在 PVE 上通过 LXC 部署 Ubuntu 24.04:为 OpenClaw 打造轻量高效的 AI 环境
linux·ai编程
Auv开心41 分钟前
Ubuntu 20.04 默认视频播放器(Totem)无法播放 MP4 文件,通常是因为缺少多媒体编解码器。以下是几种解决方法:
linux·ubuntu·音视频
seacracker1 小时前
Ceph 太重运维成本高?轻量统一存储 PowerFS 对比测评(HPC/AI 场景首选)
运维·人工智能·ceph·ai存储·统一存储
ZhengO_Oz1 小时前
虚拟机CentOS 网络配置【实操】
运维·服务器·网络
天空'之城1 小时前
Linux 系统编程 15:UDP 编程
linux·系统编程·udp协议
utf8mb4安全女神1 小时前
如果复制windows 内容到 Linux,带入不可见特殊符,怎么解决
linux·运维·服务器
艾德金的溪1 小时前
【windows安装使用openclaw】
运维·windows·ai
fei_sun1 小时前
网卡、网关、网桥、交换机、路由器
linux·服务器·网络