Docker切换文件系统为VFS

一、介绍

Docker支持AUFS、Btrfs、Device Mapper、OverlayFS、VFS、ZFS六种不同的存储驱动。

1. AUFS

AUFS是一种常见的存储驱动程序,它也使用了Linux内核的AUFS文件系统。它的优点是支持所有的Linux发行版,可以在不同的容器之间共享文件系统,支持写时复制技术。但是,它的缺点是相对较慢,需要更多的CPU和内存资源。

它允许多个分层文件系统合并成一个单独的文件系统,从而提高了文件系统的效率。AUFS将Docker镜像分解为多个层次结构,这些层次结构包括读取/写入层、中间层和只读层。层次结构允许容器与宿主机隔离,同时实现高效资源共享。

2. OverlayFS

OverlayFS是Docker默认的存储驱动程序,它使用了Linux内核的OverlayFS文件系统。它的优点是快速、轻量级、可靠性高,支持写时复制(Copy-on-Write)技术,可以节省存储空间。但是,它的缺点是不支持所有的Linux发行版,需要在内核中启用OverlayFS模块。

2.1 Overlay2

Overlay2是从OverlayFS衍生出来的新一代存储驱动程序,它提供更多的性能和可扩展性。与旧版OverlayFS相比,overlay2的优势在于:具有更快的构建和读取速度;支持镜像分层;减少了磁盘空间占用。

3. Device Mapper

Device Mapper是一种基于LVM(Logical Volume Manager)的存储驱动程序,它可以将物理存储设备映射为逻辑卷。它的优点是支持快照和克隆,可以在容器之间共享存储卷。但是,它的缺点是相对较慢,需要更多的CPU和内存资源。

4. Btrfs

Btrfs是一种新型的文件系统,它支持快照、克隆、压缩等高级功能。它的优点是支持写时复制技术,可以节省存储空间,支持快照和克隆。但是,它的缺点是相对较慢,需要更多的CPU和内存资源。

5. VFS

VFS是虚拟文件系统,它允许将多个文件系统组合成一个统一的视图。在容器环境中,vfs被用于将容器的文件系统与其他容器和主机隔离开来,同时提供一个共享的文件系统,以便不同容器之间可以相互访问。在Docker中,VFS为Docker镜像和容器提供了一个高效且可移植的存储解决方案。通过使用VFS,Docker能够跨不同的操作系统和平台实现一致的文件系统接口,使得应用程序的移植和管理变得更加容易。总之,vfs是一种用于容器环境的虚拟文件系统技术,它提供了高效、可移植和隔离的文件系统视图,使得不同容器之间可以共享文件和数据。

6. ZFS

ZFS 文件系统是一个革命性的全新的文件系统,它从根本上改变了文件系统的管理方式,ZFS 完全抛弃了"卷管理",不再创建虚拟的卷,而是把所有设备集中到一个存储池中来进行管理,用"存储池"的概念来管理物理存储空间。过去,文件系统都是构建在物理设备之上的。为了管理这些物理设备,并为数据提供冗余,"卷管理"的概念提供了一个单设备的映像。而ZFS创建在虚拟的,被称为"zpools"的存储池之上。每个存储池由若干虚拟设备(virtual devices,vdevs)组成。这些虚拟设备可以是原始磁盘,也可能是一个RAID1镜像设备,或是非标准RAID等级的多磁盘组。于是zpool上的文件系统可以使用这些虚拟设备的总存储容量。

总的来说,选择哪种存储驱动程序取决于你的具体需求和环境。如果你需要快速、轻量级的存储驱动程序,可以选择OverlayFS或AUFS;如果你需要高级功能,可以选择Device Mapper或Btrfs。

二、文件系统切换

文件系统切换的官方文档地址:Use the VFS storage driver | Docker DocsLearn how to optimize your use of VFS driver.https://docs.docker.com/storage/storagedriver/vfs-driver/

查看当前文件系统的类型

centos7.7.1908镜像的默认文件系统类型为overlay2

复制代码
docker info

1.停止docker运行

复制代码
service docker stop

2.编辑/etc/docker/daemon.json。如果它还不存在,请创建后再编辑它。添加以下内容

复制代码
{
  "storage-driver": "vfs"
}

如果daemon.json文件包含格式错误的json,则Docker不会启动。

3.开启docker

复制代码
service docker start

4.验证守护程序是否正在使用vfs存储驱动程序

复制代码
docker info

docker info

Storage Driver: vfs

...

至此,docker文件系统由overlay2切换为vfs。

相关推荐
澡点睡觉8 小时前
【前沿技术拓展Trip one】 芯片自动化和具身智能
运维·自动化
To_再飞行8 小时前
K8s访问控制(二)
linux·网络·云原生·容器·kubernetes
学习至死qaq8 小时前
CentOS 7 下iscsi存储服务配置&验证
linux·运维·centos
西瓜君的代码9 小时前
rabbitmq的安装
linux·运维·服务器
SimonSkywalke9 小时前
STS_Root_Cause_Analysis_Error.ipynb 工作流程解析
运维·人工智能
吠品9 小时前
自动化SSL证书管理:应对域名SSL证书更新焦虑
运维·自动化·ssl
nmxiaocui9 小时前
Linux 用户和用户组管理
linux·运维·系统安全
m0_4646082610 小时前
Nginx反向代理与负载均衡部署
运维·nginx·负载均衡
ts97710 小时前
在centOS源码编译方式安装MySQL5.7
linux·运维·centos
码畜sokach10 小时前
Docker入门指南:CentOS 7 安装与阿里云镜像加速配置
阿里云·docker·centos