前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >快速学习Docker-容器的数据管理

快速学习Docker-容器的数据管理

作者头像
cwl_java
发布2019-11-04 11:40:16
3180
发布2019-11-04 11:40:16
举报
文章被收录于专栏:cwl_Javacwl_Java

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/weixin_42528266/article/details/102871819

什么是数据卷(Data Volume):
  • 我们都知道Docker其中一个理念就是应用和环境打包.通常docker容器的生命周期都是和容器中的应用是一致的.而我们对数据的要求是持久化,另外docker容器之间也需要有一个共享数据的渠道.这些需求就催生了数据卷的需求.
  • 数据卷是经过特殊设计的目录,可以绕过联合文件系统(UFS),为一个或者多个容器提供访问.
  • 数据卷设计的目的,在于数据的永久化,它完全独立与容器的生命周期,因此Docker不会在容器删除的时候删除其关联的数据卷,也不会存在类似垃圾收集机制,对容器应用的数据卷进行处理.
在这里插入图片描述
在这里插入图片描述
通过上面这张图
  • 1.数据卷是独立于容器的存在,他存在于宿主机中.和容器是分离的.
  • 2.docker数据卷可以是文件或者目录.
  • 3.docker容器可以使用数据卷和宿主机进行数据的共享.
  • 4.同一个文件或者目录支持多个容器的访问.实现了容器间的数据共享和交换.
数据卷的特点
  • 数据卷在容器启动时初始化,如果容器使用的镜像在挂载点包含了数据,这些数据会拷贝到新初始化的数据卷中.
  • 数据卷可以容器之间共享和重用.
  • 可以对数据卷里的内容直接进行修改.
为容器添加数据卷
代码语言:javascript
复制
docker run -v ~/container_data:/data -it centos /bin/bash
为数据卷添加访问权限
代码语言:javascript
复制
docker run -v  ~/datavolume:/data:ro -it centos /bin/bash
使用Dockerfile构建包含数据卷的镜像
代码语言:javascript
复制
Dockerfile指令:VOLUME[“/data”]

示例:

代码语言:javascript
复制
# Test
FROM centos
VOLUME ["/datavolume1","/datavolume2"]
CMD /bin/bash
  • 执行构建命令
代码语言:javascript
复制
docker build -t lanxw0720/dvt .

我们在容器启动的时候,我们在容器中指定的数据卷在容器中都会进行一次完整的初始化.根据镜像来创建的容器.使用的数据卷就没办法共享.当我们不能访问到本地目录时,我们怎么共享数据呢?预知后事如何,请看下一篇文章!

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-11-02 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是数据卷(Data Volume):
  • 通过上面这张图
  • 数据卷的特点
  • 为容器添加数据卷
  • 为数据卷添加访问权限
  • 使用Dockerfile构建包含数据卷的镜像
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档