docker 数据挂载方式bind和volume的区别

这篇具有很好参考价值的文章主要介绍了docker 数据挂载方式bind和volume的区别。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在 Docker 中,bindvolume 都是用来将主机文件系统中的目录或文件映射到容器内部的对应目录或文件上的方式,但它们之间有几个重要区别。

  1. 生命周期:bind 挂载的卷只存在于容器运行时,一旦容器停止并删除,该挂载就会被删除。而 volume 的生命周期可以独立于容器,即使容器停止并删除,volume 依然可以保存数据。

  2. 存储位置:bind 是将本地文件直接挂载进入容器,而 volume 则是在主机上创建一个 volume 目录,并且由 Docker 管理和分配存储位置。

  3. 数据管理:使用 volume 可以更方便、安全地管理容器中的数据。例如通过设置权限控制、备份和恢复等操作。

  4. 性能:在性能方面,volume 通常比 bind 更优秀,因为 volume 使得 Docker 能够对文件进行更好的缓存和优化。

综上所述,bind 适合需要在容器内外共享的数据,对于那些需要持久化、管理的数据,建议使用 volume 来实现。

理解透彻:

当使用 bind 挂载时,Docker 将主机上的一个目录或文件夹直接映射到容器的指定路径中。这意味着在容器内部,我们可以像操作本地文件一样来访问这些挂载的主机文件。但是,由于数据存储在主机的特定目录中,因此该数据卷的生命周期与容器的生命周期紧密相连。如果容器被删除,则 bind 挂载也将被删除。

而当我们使用 volume 时,Docker 不再直接映射主机文件系统中的目录或文件,而是创建了一个 Docker 管理的数据卷,并将其绑定到容器的指定路径中。这个数据卷可以独立于容器进行管理,包括备份、恢复以及移动到其他容器中等操作。同时,该数据卷的生命周期并不与容器关联,即使容器被删除,我们仍然可以在主机上找到保存该数据卷的目录。

因此,bind 挂载更加适用于一次性任务和开发环境等场景,而 volume 更适合在生产环境中使用,因为它提供了更多的数据管理选项,并且可以在容器之间共享和重复使用。文章来源地址https://www.toymoban.com/news/detail-458474.html

到了这里,关于docker 数据挂载方式bind和volume的区别的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【博客609】docker volume挂载本机文件出现不同步的问题解决

    docker volume挂载本机文件,在宿主机修改文件之后,容器内部不会同步生效,没有发生对应的修改,需要重启容器才可以正常同步。 启动一个busybox容器,挂载一个测试文件: 在容器里查看文件内容: 修改宿主机上的文件: 在 docker 里面查看是否发生同步修改: 发现我们在外

    2023年04月12日
    浏览(81)
  • docker 数据挂载的三种方式

    目录 前言 更详细的Diff 适合Volumes的场景 适合bind mounts的场景 适合tmpfs mounts的场景 使用 前言 回到目录 我们可以将数据写到容器的可写入层,但是这种写入是有缺点的: 当容器停止运行时,写入的数据会丢失。你也很难将这些数据从容器中取出来给另外的应用程序使用。 容

    2024年02月06日
    浏览(57)
  • 解决docker通过volumes挂载文件,宿主机修改后容器内不同步,重启服务才能同步

    将文件的权限改为777,即 chmod 777 filename 。 详细解释在该文章: https://huaweicloud.csdn.net/633114e5d3efff3090b51a5a.html 说明: 这是由于linux系统文件挂载机制导致的。 docker通过volumes挂载文件到容器中,有以下两种方式: 1、挂载目录 2、挂载具体文件:并不是挂载了某个文件的路径,

    2024年03月10日
    浏览(78)
  • Docker - 基本概念、与虚拟机的区别、架构、镜像操作、容器操作、数据卷挂载

    目录 一、对 Docker  的理解 1、Docker 基本概念 2、Docker 与 虚拟机的区别 3、何为镜像和容器? 4、Docker 主要架构 二、Docker 基本操作 1、Docker 镜像操作 2、案例(镜像):去 DockerHub 搜索并拉取一个 Nginx 镜像,打包后删除镜像,重新加载 .tar 文件 3、Docker 容器操作 1.docker run(启

    2024年04月13日
    浏览(44)
  • Docker数据卷(Volume)

    一、数据卷概念 数据卷是宿主机中的一个 目录或者文件 ,当容器目录和数据卷目录绑定后,对方的修改会立即同步。 一个数据卷可以被多个容器同时挂载,一个容器也可以被挂载多个数据卷。 简单来说,数据卷本质其实是共享文件夹,是 宿主机与容器之间 数据共享的桥梁

    2024年02月08日
    浏览(36)
  • 【DevOps系列】Docker数据卷(volume)详解

    Docker的镜像是由多个只读的文件系统叠加在一起形成。启动一个容器的时候,docker会加载只读层并在只读层的上面(栈顶)增加一个读写层。如果需要修改只读层的文件,那么这个文件层需要复制到读写层。该文件的只读版本还在,只是被上面写层的文件副本隐藏。当删除

    2024年02月07日
    浏览(38)
  • docker——数据卷(volume)概念及使用案例

    Docker的镜像是有⼀系列的只读层组合⽽来,当启动⼀个容器时,Docker加载镜像的所有只读层,并在最上层加⼊⼀个读写层。这个设计使得Docker可以提⾼镜像构建、存储和分发的效率,节省了时间和存储空间,然⽽也存在⼀些问题: 容器中的⽂件在宿主机上存在形式复杂,不能

    2024年02月03日
    浏览(31)
  • Docker——常用挂载的三种方式

    在 Docker 中,有三种常见的挂载方式,它们分别是: 绑定挂载(Bind Mounts) :绑定挂载是将主机上的文件或目录挂载到容器中。这种挂载方式允许容器与主机之间共享文件和目录,并且对其中一个的更改会直接影响到另一个。可以通过在运行容器时使用  -v  或  --mount  参数

    2024年02月12日
    浏览(54)
  • Docker 实现挂载的三种方式

    容器中运行的应用,有可能会产生数据,如果将数据直接存储到容器中,如果删除容器时,容器中的数据会一起被删除,例如: 如果运行的是数据库容器,数据库容器直接保存的数据文件,删除容器时,容易导致数据丢失 为了防止数据丢失,可以把数据保存到宿主机上,这样有便于容器之间

    2024年01月23日
    浏览(48)
  • Docker实现挂载的N种方式

    默认情况下,在Docker容器内创建的所有文件都只能在容器内部使用。容器删除后,数据也跟着删除,虽然通常我们不会删除容器,但是一旦宿主机发生故障,我们重新创建容器恢复服务,那么之前容器创建的文件就会丢失。所以我们需要将容器数据写到宿主机内,方便我们数

    2024年02月04日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包