Linux学习-Docker文件系统

news2024/12/23 4:23:31

Overlayfs

Overlayfs 是一种类似 aufs 的一种堆叠文件系统,于 2014 年正式合入 Linux-3.18 主线内核,目前其功能已经基本稳定(虽然还存在一些特性尚未实现)且被逐渐推广。
Overlayfs 是一种堆叠文件系统,它依赖并建立在其它的文件系统之上(例如 ext4fs 和 xfs 等等),并不直接参与磁盘空间结构的划分,仅仅将原来底层文件系统中不同的目录进行“合并”,然后向用户呈现。

  • 上下层同名目录合并;
  • 上下层同名文件覆盖;
  • lowerdir 文件写时拷贝。
    在这里插入图片描述
进程读写overlayfs文件规则
  • 进行读文件时,overlayfs文件系统驱动将优先在上层目录upperdir中查找并从该目录中读取文件,找不到则在下层目录lowerdir中查找
  • 当进程写入文件时,overlay会将其写入上层目录upperdir
# 通过docker inspect containerId查看容器信息,GraphDriver显示容器文件系统信息
# 1.LowerDir 表示镜像层
# 2.UpperDir表示容器可写层
# 3.MergerdDir合并LowerDir和UpperDir中的文件列表

 "GraphDriver": {
            "Data": {
                "LowerDir": "/var/lib/docker/overlay2/4b364d64c6776b8c5684572e0d039ed9ced2e26678a6671e77eef03f7fe312db-init/diff:/var/lib/docker/overlay2/a453b7613bb70c11cfaba21c8ec2ce2b62cafd5b2ce864a983fc188cf1410f7e/diff:/var/lib/docker/overlay2/5a722654b3ef692287ed75092f41619a68f1ed6eff4c1197f5989b8ec0798946/diff:/var/lib/docker/overlay2/1ddbf08a0d41a22bd279217d97c1af32126eb1b9276f1fe12b0a662799cca000/diff:/var/lib/docker/overlay2/dcde7a130131c1c78759c9ddd488582e1f28fa85756f89811d412080de0bc82e/diff:/var/lib/docker/overlay2/fb398cea00431e00a306d54e5ff53de55e71910915e5748725436c30af491215/diff:/var/lib/docker/overlay2/4393bf50faa2d30d9c1666a6a5a308583ff898e31193b664b562b5e228453e80/diff:/var/lib/docker/overlay2/60fd8dd602df65b6093e44e9294aee1d93636e6a0a96193cd55febc3ec054596/diff",
                "MergedDir": "/var/lib/docker/overlay2/4b364d64c6776b8c5684572e0d039ed9ced2e26678a6671e77eef03f7fe312db/merged",
                "UpperDir": "/var/lib/docker/overlay2/4b364d64c6776b8c5684572e0d039ed9ced2e26678a6671e77eef03f7fe312db/diff",
                "WorkDir": "/var/lib/docker/overlay2/4b364d64c6776b8c5684572e0d039ed9ced2e26678a6671e77eef03f7fe312db/work"
            },
            "Name": "overlay2"
        }
overlayfs实战
加载overlay模块
[root@mysql5 ~]# lsmod | grep overlay
overlay                91659  
#如未加载,采用以下命令加载
modeprobe overlay
模拟overlayfs文件系统
[root@mysql5 ~]# mkdir overlay
[root@mysql5 ~]# cd overlay
[root@mysql5 overlay]# mkdir upper lower merged work
[root@mysql5 overlay]# echo "I'm lower layer" > lower/lower_layer.txt
[root@mysql5 overlay]# echo "I'm upper layer" > upper/upper_layer.txt
[root@mysql5 overlay]# echo "I'm upper layer" > upper/both_layer.txt
[root@mysql5 overlay]# echo "I'm lower layer" > lower/both_layer.txt

[root@mysql5 overlay]# tree
.
├── lower
│   ├── both_layer.txt
│   └── lower_layer.txt
├── merged
├── upper
│   ├── both_layer.txt
│   └── upper_layer.txt
└── work
# 合并上层目录和下层目录
[root@mysql5 overlay]# mount -t overlay overlay -o lowerdir=./lower/,upperdir=./upper/,workdir=./work/ ./merged/
[root@mysql5 overlay]# tree
.
├── lower
│   ├── both_layer.txt
│   └── lower_layer.txt
├── merged
│   ├── both_layer.txt
│   ├── lower_layer.txt
│   └── upper_layer.txt
├── upper
│   ├── both_layer.txt
│   └── upper_layer.txt
└── work
    └── work

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2130278.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

stm32 IIC总线busy解决方法

参考博客: https://blog.csdn.net/PP_hui/article/details/112229696 1------这是IIC的初始化代码: #include "i2c.h"/* USER CODE BEGIN 0 */ // #define __HAL_AFIO_REMAP_I2C1_ENABLE() AFIO_REMAP_ENABLE(AFIO_MAPR_I2C1_REMAP) /* USE…

最新Open-vocabulary方法个人学习小结

Open-vocabulary方法总结 Yolo-world CVPR2024 预训练公式:区域-文本对 传统的目标检测方法,包括yolo系列都是用实例注释进行训练的,它由边界框和类别标签组成。 在本文中,我们将实例注释重新表述为区域-文本对。具体来说&#…

2024 年 GitLab Global DevSecOps 报告解读

近日 GitLab 正式发布了 2024 年 GitLab Global DevSecOps 报告,报告主题为 What’s next in DevSecOps。在全球有超 5000 位 IT 人员参与了该报告的调研,超 70% 为企业管理者,50% 以上的受访者所在企业规模超过 500人。该报告深刻揭示了在 A…

Qt进程通信,不推荐使用QSharedMemory和QLocalSocket,而是推荐ZMQ

一、据一位资深的网友说QLocalSocket有问题,共享内存QSharedMemory也有,比如存在多线程问题,不灵活,丢数据等问题都有,而且还占资源。血的教训。后来换成了zmqprotobuf。ZMQ进程内,进程间,机器间…

重塑科普展厅魅力,以用户体验为核心的策略性规划新探索!

如今,尽管数字技术已在全国范围内得到广泛应用,努力缩小地域间的信息鸿沟,但地域信息差依然是一个不容忽视的存在,他们由于文化背景、教育水平、生活习惯等方面的差异,对科普知识的需求和接受程度也各不相同&#xff0…

深入解析全连接层:PyTorch 中的 nn.Linear、nn.Parameter 及矩阵运算

文章目录 数学概念(全连接层,线性层)nn.Linear()nn.Parameter()Q1. 为什么 self.weight 的权重矩阵 shape 使用 ( out_features , in_features ) (\text{out\_features}, \text{in\_features}) (out_features,in_features)而不是 ( in_featur…

复现OpenVLA:开源的视觉-语言-动作模型及原理详解

复现OpenVLA:开源的视觉-语言-动作模型及原理详解 1. 摘要2. 引言3. 相关工作4. 模型结构4.1 模视觉-语言模型VLM4.2 训练流程4.3 图像分辨率4.4 微调视觉编码器4.5 训练轮数4.6 学习率4.7 训练细节4.8 参数高效微调 5. 复现5.1 下拉代码5.2 安装环境依赖5.2.1 创建…

什么是科技与艺术相结合的异形创意圆形(饼/盘)LED显示屏

在当今数字化与创意并重的时代,科技与艺术的融合已成为推动社会进步与文化创新的重要力量。其中,晶锐创显异形创意圆形LED显示屏作为这一趋势下的杰出代表,不仅打破了传统显示设备的形态束缚,更以其独特的造型、卓越的显示效果和广…

浏览器百科:网页存储篇-IndexedDB介绍(十)

1.引言 在现代网页开发中,数据存储需求日益增多和复杂,传统的客户端存储技术如localStorage和sessionStorage已难以满足大型数据的存储和管理需求。为了解决这一问题,HTML5 引入了 IndexedDB,在本篇《浏览器百科:网页…

SiC,GaN驱动优选驱动方案SiLM5350系列SiLM5350MDDCM-DG 带米勒钳位Clamp保护功能 单通道隔离栅极驱动器

SiLM5350MDDCM-DG是一款适用于IGBT、MOSFET的单通道 隔离门极驱动器,具有10A拉电流和10A灌电流驱动能 力。提供内部钳位功能,可单独控制 上升时间和下降时间。 在 SOP8 封 装 中 具 有 3000VRMS 隔 离 耐 压 ( 符 合 UL1577)。 与…

Vue-Route4 ts

小满学习视频 Vue-Route 官网 项目的目录结构: 1. Vue-Router的使用 安装Vue-route pnpm add vue-router4创建router文件 /route/index.vue import { createRouter } from "vue-router"; import {createMemoryHistory,createWebHashHistory,create…

C语言 | Leetcode C语言题解之第395题至少有K个重复字符的最长子串

题目&#xff1a; 题解&#xff1a; int longestSubstring(char* s, int k) {int ret 0;int n strlen(s);for (int t 1; t < 26; t) {int l 0, r 0;int cnt[26];memset(cnt, 0, sizeof(cnt));int tot 0;int less 0;while (r < n) {cnt[s[r] - a];if (cnt[s[r] - …

Framework | 在Android中运行时获取顶层Activity并处理业务逻辑

Framework | 在Android中运行时获取顶层Activity并处理业务逻辑 在Android应用的开发中,有时需要获取当前正在运行的顶层Activity,尤其是当应用需要监控特定的页面或执行特殊的业务处理时,例如在截图界面进行操作或在特定的活动页面展示特定的功能。本文将详细介绍如何通过…

中电金信:金融级数字底座“源启”:打造新型数字基础设施 筑牢千行百业数字化转型发展基石

近期&#xff0c;金融级数字底座“源启”登录中国电子《最轻大国重器》融媒体报道。从数字底座到数智底座&#xff0c;从金融行业到千行百业&#xff0c;“源启”用数智化转型的中国电子解决方案&#xff0c;为全球企业转型及安全发展提供强大动能。 立足中国电子科技创新成果&…

英飞凌motor电机方案

电机主流方案的应用场景,一个是家电,一个是汽车,尤其是新能源汽车。 多家MCU厂商也都推出自己电机解决方案,比如华大电子: HC32M140 系列产品为华大半导体研制的 32bit 基于 ARM-Cortex M0+ 的 MCU,与传统的 CPU 内核相比,效率更高,功耗更低。更宽的工作电压范围,可同…

C语言的结构体类型

在我们使用C语言进行编写代码时&#xff0c;常常会使用已经给定的类型来创建变量&#xff0c;比如int型&#xff0c;char型&#xff0c;double型等&#xff0c;而当我们想创建一些较为复杂的东西时&#xff0c;单单用一个类型变量是没办法做到的&#xff0c;比如我们想创建一个…

图文讲解HarmonyOS应用发布流程

HarmonyOS应用的开发和发布过程可以分为以下几个步骤&#xff1a;证书生成、应用开发、应用签名和发布。 1. 证书生成&#xff1a; 在开始开发HarmonyOS应用之前&#xff0c;首先需要生成一个开发者证书。开发者证书用于标识应用的开发者身份并确保应用的安全性。可以通过Har…

R语言统计分析——功效分析3(相关、线性模型)

参考资料&#xff1a;R语言实战【第2版】 1、相关性 pwr.r.test()函数可以对相关性分析进行功效分析。格式如下&#xff1a; pwr.r.test(n, r, sig.level, power, alternative) 其中&#xff0c;n是观测数目&#xff0c;r是效应值&#xff08;通过线性相关系数衡量&#xff0…

LoRA: Low-Rank Adaptation Abstract

LoRA: Low-Rank Adaptation Abstract LoRA 论文的摘要介绍了一种用于减少大规模预训练模型微调过程中可训练参数数量和内存需求的方法&#xff0c;例如拥有1750亿参数的GPT-3。LoRA 通过冻结模型权重并引入可训练的低秩分解矩阵&#xff0c;减少了10,000倍的可训练参数&#xf…

HashMap常用方法及底层原理

目录 一、什么是HashMap二、HashMap的链表与红黑树1、数据结构2、链表转为红黑树3、红黑树退化为链表 三、存储&#xff08;put&#xff09;操作四、读取&#xff08;get&#xff09;操作五、扩容&#xff08;resize&#xff09;操作六、HashMap的线程安全与顺序1、线程安全2、…