理解容器挂载点

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

为什么?

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

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

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

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

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

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

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

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

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

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

相关推荐
开开心心_Every1 分钟前
支持自定义名单的实用随机抽签工具
运维·服务器·pdf·电脑·excel·启发式算法·宽度优先
Harm灬小海3 分钟前
【云计算学习之路】企业常用服务搭建:构建Apache WEB服务器
运维·服务器·学习·云计算·apache
姚不倒5 分钟前
Go语言实战:构建一个安全的计算器服务(接口、错误处理与Panic恢复)
云原生·golang
大江东去浪淘尽千古风流人物9 分钟前
【Polaris-VIO】Docker 镜像跨硬件分发的隐藏陷阱:AVX-512、-march=native 与 CPU 指令集解耦边界
运维·docker·容器·slam·vio·avx-512
十子木11 分钟前
SSH 反向端口转发 (Remote Port Forwarding)
运维·ssh
AI云原生14 分钟前
远程控制软件进入协作阶段:ToDesk、向日葵、AnyDesk、RustDesk怎么选?
运维·服务器·网络·windows·docker·云原生·开源软件
测试员周周7 小时前
【Appium 系列】第16节-WebView-H5上下文切换 — 混合应用的自动化难点
运维·开发语言·人工智能·功能测试·appium·自动化·测试用例
小鹏linux10 小时前
Ubuntu 22.04 部署开源免费具有精美现代web页面的Casdoor账号管理系统
linux·前端·ubuntu·开源·堡垒机
在角落发呆10 小时前
Linux转发配置:解锁网络互联的核心密码
linux·运维·网络
齐潇宇11 小时前
Zabbix 7 概述与配置
linux·zabbix·监控告警