docker存储驱动类型及Dockerfile构建镜像的基本方法04

目录

一、概念

二、驱动器的类型及其底层文件系统

  三、Docker存储的挂载类型

四、 使用docker卷      


一、概念

       1、docker存储驱动与联合文件系统:

联合文件系统是一种为Linux、freeBSD和NetBSD操作系统设计,将其他文件系统联合挂载点的文件系统

                        ※ Docker引擎可以使用联合文件系统的多种变体
                        ※ AUFS
                        ※ OverlayFS
                        ※ Btrfs
                        ※ BFS
                        ※ DeviceMapper

               联合文件系统实际上是由存储驱动实现的

        2、选择存储驱动需考虑的其他事项

                  共享存储系统

                         ※ 多数情况下Docker可以在SAN、NAS、硬件RAID或其他共享存储系统上工 作,但Docker并没有与它们紧密集成。
                         ※ 每个Docker存储驱动都基于Linux文件系统或卷管理器。

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

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

二、驱动器的类型及其底层文件系统

       1、适合工作负载

                        ※ aufs、overlay和overlay2存储驱动的所有操作都在文件级而不是块级,能更有效地使用内存,但容器的可写层可能在写入繁重的工作负载中变得相当大。
                        ※ 块级存储驱动(如devicemapper、btrfs和zfs存储驱动)在写入繁重的工作负载时表现得更好。
                        ※ 写入大量的小数据,或有很多层的容器,或深层文件系统,overlay存储驱动比overlay2存储驱动性能更好。
                        ※ btrfs和zfs存储驱动需要更多内存。
                        ※ zfs存储驱动是高密度工作负载(如PaaS)的理想选择

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

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

  三、Docker存储的挂载类型

      ※  默认在容器中创建的所有文件保存在可写的容器层中,这类存储的问题如下。
      ※  此类存储只在容器的生命周期内存在,会随着容器的删除而被删除。
      ※  如果主机上的其他进程需要访问容器中的数据,则很难从容器中获取数据。
      ※  容器的可写层与运行容器的主机紧密耦合,无法轻松地将数据转移到其他地方。
      ※  写入容器的可写层需要Docker存储驱动来管理文件系统。
      ※  卷有助于解决这些问题。
      ※  卷本质上是Docker主机文件系统中的目录或文件,能够直接被挂载到容器的文件系统中。
      ※  对卷的读写操作会绕过存储驱动,并以本地主机的速度运行。

四、 使用docker卷      

        1、卷的优势

  相比绑定挂载:

                ※   卷比绑定挂载更容易备份和迁移。
                ※  可以通过Docker命令行或Docker API对卷进行管理。
                ※  卷在Linux容器和Windows容器中都可以工作。
                ※  在多个容器之间共享时,卷更为安全。
                ※  卷驱动支持在远程主机或云端存储卷,加密卷内容,以及增加其他功能。
                ※  新卷的内容可以由容器预填充。

        2、-v与--mount的选项使用

                ※   -v的语法使用:        -v [host-src:]container-dest[:<options>]

                ※   --mount的语法使用:--mount <key>=<value>,<key>=<value>,……(使用较少,一般用于实验)

                ※  -v用于独立容器

                ※  --mount用于集群服务

                ※  --mount与-v两者最大的不同在于-v的用法是将所有选项组合在一个字段中,而--mount的用法是将它们分开。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要使用Dockerfile构建CentOS 7镜像,可以按照以下步骤进行操作: 1. 首先,确保已经在系统上安装了Docker环境。可以使用以下命令来检和安装Docker服务: - 检CentOS 7内核版本和存储驱动 - 卸载之前安装的Docker服务(如果有) - 安装Docker依赖包 - 安装最新版本的Docker核心服务 2. 创建一个名为Dockerfile的文件,用于定义构建镜像的指令和配置。Dockerfile是一个文本文件,可以使用编辑器创建。在Dockerfile中,可以使用一些常用的命令来定义构建过程,比如FROM、RUN、COPY等。具体的Dockerfile格式可以参考官方文档。 3. 在Dockerfile所在的目录下,执行以下命令来构建镜像: - 使用docker build命令,指定镜像名称和Dockerfile所在的目录路径。例如:`docker build -t mycentosimage .` 这将在当前目录下使用Dockerfile构建一个名为mycentosimage的镜像。 4. 构建完成后,可以使用docker images命令来看已构建镜像列表。例如:`docker images` 通过以上步骤,你就可以使用Dockerfile构建CentOS 7镜像了。请注意,在构建过程中要确保Dockerfile的语法正确,并按照需求进行配置和安装所需的软件包。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [CentoOS7系统下使用DockerFile构建镜像](https://blog.csdn.net/smxzsp/article/details/110537368)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值