Docker容器技术基础入门(IV)

联合文件系统(UnionFS)是一种为Linux、FreeBSD和NetBSD操作系统设计的,将其他文件系统合并到一个联合挂载点的文件系统Docker引擎可以使用联合文件系统的多种变体AUFSOverlayFSBtrfsBFS联合文件系统实际上是由存储驱动实现的,相应的存储驱动有aufs、overlay、overlay2、devicemapper、btrfs、zfs、vfs等。
摘要由CSDN通过智能技术生成

目录

一、Docker存储驱动

        1、选择Docker存储驱动的总体原则

        2、Docker版本所支持的存储驱动

                Docker引擎企业版和Docker EE

                Docker CE

                Docker for Mac和Docker for Windows

                Docker存储驱动所支持的底层文件系统       ​编辑                选择存储驱动需考虑的其他事项

                检查当前的存储驱动

 二、Docker存储的挂载类型

        1、Docker卷与存储驱动

                默认在容器中创建的所有文件保存在可写的容器层中,这类存储的问题如下:

                卷有助于解决这些问题:

                Docker卷和存储驱动的关系

                选择合适的挂载类型

                        ​编辑 

三、使用Docker卷

        1、卷的优势

        2、选择-v或--mount选项

                -v选项

                --mount选项

                创建和管理卷

                启动带有卷的容器

                使用容器填充卷

                使用只读卷

                删除卷


一、Docker存储驱动

        联合文件系统(UnionFS)是一种为Linux、FreeBSD和NetBSD操作系统设计的,将其他文件系统合并到一个联合挂载点的文件系统

        Docker引擎可以使用联合文件系统的多种变体

                AUFS

                OverlayFS

                Btrfs

                BFS

                DeviceMapper

        联合文件系统实际上是由存储驱动实现的,相应的存储驱动有aufs、overlay、overlay2、devicemapper、btrfs、zfs、vfs等

        1、选择Docker存储驱动的总体原则

                在最常用的场合使用具有最佳整体性能和稳定性的存储驱动

                如果内核支持多个存储驱动,则Docker会提供要使用的存储驱动的优先级列表

                优先使用Linux发行版默认的存储驱动

                一些存储驱动要求使用特定格式的底层文件系统,这可能会限制选择

                选择存储驱动还要取决于工作负载的特征和所需的稳定性级别

        2、Docker版本所支持的存储驱动

                Docker引擎企业版和Docker EE

                        对于Docker引擎企业版和Docker EE来说,支持存储驱动的决定性资源是产品兼容性矩阵。建议用户迁移到overlay2存储驱动

                Docker CE

                        对于Docker CE来说,只有部分配置被测试过,并且操作系统的内核不可能支持每个存储驱动

                        最佳配置是使用带有支持overlay2存储驱动的内核的现代Linux发行版,并且对于大量的工作负载要使用Docker卷写入,而不是将数据写入容器的可写层

                Docker for Mac和Docker for Windows

                        这两个版本的Docker仅用于开发,而不能用于生产环境,不支持定义存储驱动

                Docker存储驱动所支持的底层文件系统                       选择存储驱动需考虑的其他事项

                        适合工作负载

                                aufs、overlay和overlay2存储驱动的所有操作都在文件级而不是块级,能更有效地使用内存,但容器的可写层可能在写入繁重的工作负载中变得相当大

                                块级存储驱动(如devicemapper、btrfs和zfs存储驱动)在写入繁重的工作负载时表现得更好

                                写入大量的小数据,或有很多层的容器,或深层文件系统,overlay存储驱动比overlay2存储驱动性能更好

                                btrfs和zfs存储驱动需要更多内存

                                zfs存储驱动是高密度工作负载(如PaaS)的理想选择

                        共享存储系统

                                多数情况下Docker可以在SAN、NAS、硬件RAID或其他共享存储系统上工作,但Docker并没有与它们紧密集成

                                每个Docker存储驱动都基于Linux文件系统或卷管理器。

                        稳定性

                                overlay2、aufs、overlay和devicemapper存储驱动的稳定性更高

                        测试工作负载

                                在不同的存储驱动上运行工作负载时,可以测试Docker的性能

                检查当前的存储驱动

                        使用docker info命令查看Docker当前使用的存储驱动,从输出的结果中查找“Storage Driver”部分:

                                Storage Driver: overlay2

                                Backing Filesystem: xfs

                                Supports d_type: true

                                Native Overlay Diff: true

                        可以根据需要更改现有的存储驱动

                        建议在改变存储驱动之前使用docker save命令导出已创建的镜像,或将它们推送到Docker Hub或其他镜像注册中心,以免今后重建它们

                        更改存储驱动会使得现有的容器和镜像不可访问

 二、Docker存储的挂载类型

        1、Docker卷与存储驱动

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值