OverlayFS联合文件系统使用示例

概述:

OverlayFS是UnionFS实现技术之一,是docker使用的主流技术。

OverlayFS 主要有三个参数

  • lowerdir:底层文件系统目录,通常包含的是只读文件系统
  • upperdir:是 OverlayFS 的可写层。当对挂载的目录修改时,这些修改会写入 upperdir 目录。
  • workdir:临时工作空间,主要用于容器修改文件时进行缓存

具体使用方式:

本示例仅仅是做一个样例,便于理解

  1. 首先要有一个测试文件夹
bash 复制代码
mkdir overlayFsDemo
  1. 进入到测试文件夹,并创建需要联合的文件夹以及临时工作文件夹
bash 复制代码
mkdir lower upper  work 
  1. 为每一个文件夹添加文件
bash 复制代码
 echo "hello-upper" > ./upper/upper.txt
 echo "hello-lower" > ./lower/lower.txt
 echo "hello-work" > ./work/work.txt
bash 复制代码
 echo "merge-lower" > ./lower/merge.txt 
 echo "merge-upper" > ./upper/merge.txt 
 echo "merge-work" > ./work/merge.txt 
  1. 创建挂载的文件夹,并挂载
bash 复制代码
mkdir merged
mount -t overlay overlay  -o lowerdir=lower,upperdir=upper,workdir=work   merged
  1. 结果

上述lowerdir和upperdir的内容都被挂载到merged中了,workdir不参与联合,可以进行查看

bash 复制代码
tree -a merged 

对被挂载的文件夹中的内容修改,都会反映到挂载的目录中,如我们对lower文件夹中的文件修改

bash 复制代码
echo "hello-lower-fixed" > ./lower/lower.txt
cat merged/lower.txt 

对于文件名冲突的文件,上层的会覆盖下层的,如我们对lower文件夹中的mearged文件修改

bash 复制代码
echo "merge-lower-fixed" > ./lower/merge.txt 
cat merged/merge.txt 

可以看到还是只显示最上层的

对挂载的目录修改,会看到upper目录也被修改

bash 复制代码
echo "hello-merge" > ./merged/merge.txt 
cat  ./merged/merge.txt
cat ./upper/merge.txt 
相关推荐
tellmewhoisi7 小时前
多版本共用redis的token有效期校验(过期重新登录)
java·redis·缓存
疯狂打码的少年7 小时前
【软件工程】结构化设计:模块独立性与耦合内聚
java·开发语言·笔记·软件工程
乐观的Terry7 小时前
3、数据库设计与领域实体
java·数据库·spring boot·spring cloud·ai编程
qetfw7 小时前
CentOS 7 搭建 LDAP 目录服务
linux·运维·centos
C++、Java和Python的菜鸟7 小时前
第4章 后端Web基础(基础知识)
java·开发语言
芷栀夏7 小时前
Java教育平台实战复盘:课程、考试与学习行为分析系统设计
java·开发语言·学习
ALINX技术博客8 小时前
【黑金云课堂】FPGA技术教程Linux开发:系统进阶-PS DMA
linux·fpga开发
维基框架8 小时前
维基框架(Wiki-Framework) 1.2.0:Mybatis 升级为主从读写分离
java·后端·架构
Memory_荒年8 小时前
Java函数式接口:把代码变成“拼乐高”的快乐,你体验过吗?
java
Memory_荒年8 小时前
WebSocket:让服务器学会“主动搭讪”的黑科技
java