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。

相关推荐
学Linux的语莫3 分钟前
Ansible使用简介和基础使用
linux·运维·服务器·nginx·云计算·ansible
qq_3129201113 分钟前
docker 部署 kvm 图形化管理工具 WebVirtMgr
运维·docker·容器
踏雪Vernon13 分钟前
[OpenHarmony5.0][Docker][环境]OpenHarmony5.0 Docker编译环境镜像下载以及使用方式
linux·docker·容器·harmonyos
学Linux的语莫26 分钟前
搭建服务器VPN,Linux客户端连接WireGuard,Windows客户端连接WireGuard
linux·运维·服务器
黑牛先生33 分钟前
【Linux】进程-PCB
linux·运维·服务器
Karoku06639 分钟前
【企业级分布式系统】ELK优化
运维·服务器·数据库·elk·elasticsearch
条纹布鲁斯1 小时前
dockerdsktop修改安装路径/k8s部署wordpress和ubuntu
docker·kubernetes
安迁岚2 小时前
【SQL Server】华中农业大学空间数据库实验报告 实验三 数据操作
运维·服务器·数据库·sql·mysql
打码人的日常分享2 小时前
商用密码应用安全性评估,密评整体方案,密评管理测评要求和指南,运维文档,软件项目安全设计相关文档合集(Word原件)
运维·安全·web安全·系统安全·规格说明书
追风赶月、3 小时前
【Linux】线程概念与线程控制
linux·运维·服务器