当前位置:   article > 正文

Docker Volume

Docker Volume

"Ice in my vein" 


Docker Volume(存储卷)

什么是存储卷?

        存储卷就是: “将宿主机的本地文件系统中存在的某个目录,与容器内部的文件系统上的某一目录建立绑定关系”。

存储卷与容器本身的联合文件系统?

        在宿主机上的这个与容器形成绑定关系的目录被称作“存储卷”。而这个卷的本质就是文件或者目录,它可以绕过默认的联合文件系统,直接以文件或目录的形式存在于宿主机上。

        使得可以在宿主机和容器内共享数据库内容让容器直接访问宿主机中的内容,也可以宿主机向容器写入内容,容器和宿主机的数据读写是同步的

        

为什么需要存储卷?

        存储卷技术的产生,主要来源于解决四个问题的需求。

✨ 数据丢失

容器按照业务类型,总体可以分为两类:

• 无状态(数据不需要被持久化)

• 有状态(数据需要被持久化)

        显然,容器更擅长无状态应用。因为,容器根目录的生命周期,同容器的生命周期一样。容器文件系统的本质是在镜像层上面创建的读写层,运行中的容器对任何文件的修改都存在于该读写层,当容器被删除时,容器中的读写层也会随之消失。 

        但实际业务总是有各种需要数据持久化的场景: 比如 MySQLKafka 等有状态的业务。所以,Docker 提出了卷(volume)的概念

✨ 性能问题

        UnionFS 对于修改删除等,一般效率非常低。

✨  宿主机和容器互访不方便
        
         宿主机访问容器,或者容器访问要通过 docker cp 来完成,应用很难操作。
✨  容器和容器共享不方便
        两个容器内部不同的目录,同时绑定宿主机上的某一目录,就可以实现数据共享。

        

存储卷分类

        目前 Docker 提供了三种方式将数据从宿主机挂载到容器中:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/158425?site
推荐阅读
相关标签