博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
docker数据卷(volume)
阅读量:5987 次
发布时间:2019-06-20

本文共 1041 字,大约阅读时间需要 3 分钟。

hot3.png

docker数据卷(volume) 博客分类: docker  

1.什么是数据卷volume

     为了了解什么是Docker Volume,首先我们需要明确Docker内的文件系统是如何工作的。Docker镜像被存储在一系列的只读层。当我们开启一个容器,Docker读取只读镜像并添加一个读写层在顶部。如果正在运行的容器修改了现有的文件,该文件将被拷贝出底层的只读层到最顶层的读写层。在读写层中的旧版本文件隐藏于该文件之下,但并没有被不破坏 - 它仍然存在于镜像以下。当Docker的容器被删除,然后重新启动镜像时,将开启一个没有任何更改的新的容器 - 这些更改会丢失。此只读层及在顶部的读写层的组合被Docker称为Union File System(联合文件系统)。

为了能够保存(持久)数据以及共享容器间的数据,Docker提出了Volumes的概念。很简单,volumes是目录(或者文件),它们是外部默认的联合文件系统或者是存在于宿主文件系统正常的目录和文件。

 

2.为什么使用数据卷volume

 

 Docker的镜像是由一系列的只读层组合而来,当启动一个容器的时候,Docker加载镜像的所有只读层,并在最上层加入一个读写层。这个设计使得Docker可以提高镜像构建、存储和分发的效率,节省了时间和存储空间,然而也存在如下问题。

   (1)容器中的文件在宿主机上存在形式复杂,不能在宿主机上很方便的对容器中的文件进行访问

   (2)多个容器之间的数据无法共享

    (3)当删除容器时,容器产生的数据将丢失

    为了解决这些问题,Docker引入了数据卷(volume)机制。volume是存在一个或多个容器中的特定文件或文件夹,这个目录能够独立于联合文件系统的形式在宿主机中存在,并为数据的共享与持久提供一下便利。

    (1)volume在容器创建时就初始化,在容器运行时就可以使用其中的文件

    (2)volume能在不同的容器之间共享和重用

     (3)对volume中的数据的操作会马上生效

   (4)对volume中数据操作不会影响到镜像本身

   (5)volume的生存周期独立于容器的生存周期,即使删除容器,volume仍然会存在,没有任何容器使用的volume也不会被Docker删除

 

http://blog.csdn.net/dream_broken/article/details/52314993

转载于:https://my.oschina.net/xiaominmin/blog/1599772

你可能感兴趣的文章
redis server事件模型
查看>>
php 简易分页代码
查看>>
通通WPF随笔(1)——基于lucene.NET让ComboBox拥有强大的下拉联想功能
查看>>
jQuery带缩略图焦点图插件
查看>>
完全分布式安装hadoop
查看>>
Dropbox 技术主管叶旭刚:AI 时代需要什么样的搜索引擎?
查看>>
wpf 换行符
查看>>
html5 canvas 在线图片转换器
查看>>
Cloud Native Buildpacks 加入 CNCF 沙箱
查看>>
Python程序结构2
查看>>
第四章(上)
查看>>
Confluence 6 编辑自定义 Decorators
查看>>
开源独角兽公司 Confluent 获1.25亿美元D轮融资
查看>>
使用with open语句(未完)
查看>>
如何对基因组序列进行注释
查看>>
Foxify v0.10.7 发布,基于 TypeScript 的 Node 框架
查看>>
as 引用模块 ( android stdio modules )
查看>>
ES6语法
查看>>
奥运转播加速上云,北京冬奥组委测试阿里云视频传输技术
查看>>
【Linux】Bash Shell之命令续篇
查看>>