前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Docker核心技术之数据管理

Docker核心技术之数据管理

作者头像
Lansonli
发布2021-10-09 10:09:53
3920
发布2021-10-09 10:09:53
举报
文章被收录于专栏:Lansonli技术博客

一、Docker 数据卷简介

为什么用数据卷

宿主机无法直接访问容器中的文件

容器中的文件没有持久化,导致容器删除后,文件数据也随之消失

容器之间也无法直接访问互相的文件

为解决这些问题,docker加入了数据卷(volumes)机制,能很好解决上面问题,以实现:

容器与主机之间、容器与容器之间共享文件

容器中数据的持久化

将容器中的数据备份、迁移、恢复等

数据卷的特点

数据卷存在于宿主机的文件系统中,独立于容器,和容器的生命周期是分离的。

数据卷可以目录也可以是文件,容器可以利用数据卷与宿主机进行数据共享,实现了容器间的数据共享和交换。

容器启动初始化时,如果容器使用的镜像包含了数据,这些数据会拷贝到数据卷中。

容器对数据卷的修改是实时进行的。

数据卷的变化不会影响镜像的更新。数据卷是独立于联合文件系统,镜像是基于联合文件系统。镜像与数据卷之间不会有相互影响。

二、Docker 数据卷管理

Docker挂载容器数据卷的三种方式

bind mounts:将宿主机上的一个文件或目录被挂载到容器上。

volumes:由Docker创建和管理。使用docker volume命令管理

tmpfs mounts:tmpfs 是一种基于内存的临时文件系统。tmpfs mounts 数据不会存储在磁盘上。

bind mounts方式挂载数据卷

利用docker run/create的参数为容器挂载数据卷

用法:     方式一: -v, --volume参数           

                                -v 宿主机文件或文件夹路径:容器中的文件或者文件夹路径     

               方式二:--mount参数            

                              --mount type=bind, src=宿主机文件或文件夹路径, dst=容器中的文件或者文件夹路径            

注意:src指定的文件和路径必须提前创建或存在

命令演示:

volumes方式挂载数据卷

利用docker run/create为容器挂载数据卷

用法:     方式一: -v, --volume参数             

                               -v VOLUME-NAME:容器中的文件或者文件夹路径     

                方式二:--mount 参数       

                              --mount type=volume, src=VOLUME-NAME, dst=容器中的文件或者文件夹路径

volume对象管理:     

docker volume        命令管理volume数据卷对象     

docker volume create        创建数据卷对象     

docker volume inspect        查看数据卷详细信息     

docker volume ls            查看已创建的数据卷对象     

docker volume prune        删除未被使用的数据卷对象     

docker volume rm        删除一个或多个数据卷对象

tmpfs mount方式挂载数据卷

利用docker run/create为容器挂载数据卷

用法:     --mount type=tmpfs, dst=PATH

共享其他容器的数据卷-数据卷容器

利用docker run/create 的--volumes-from参数指定数据卷容器

用法:     docker run/create --volumes-from CONTAINER

三、Docker 数据卷注意事项

数据卷使用注意

Docker的数据卷更多会是使用volumes方式来进行使用。使用时需注意:

如果挂载一个空的数据卷到容器中的一个非空目录中,那么这个目录下的文件会被复制到数据卷中。

如果挂载一个非空的数据卷到容器中的一个目录中,那么容器中的目录中会显示数据卷中的数据。

如果原来容器中的目录中有数据,那么这些原始数据会被隐藏掉。

这两个规则都非常重要,灵活利用第一个规则可以帮助我们初始化数据卷中的内容。掌握第二个规则可以保证挂载数据卷后的数据总是你期望的结果。

四、总结

重点掌握

数据卷特征和简介

mount方式绑定数据卷

数据卷挂载的三种形式

数据卷使用的注意事项

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、Docker 数据卷简介
    • 为什么用数据卷
      • 数据卷的特点
      • 二、Docker 数据卷管理
        • Docker挂载容器数据卷的三种方式
          • bind mounts方式挂载数据卷
            • volumes方式挂载数据卷
              • tmpfs mount方式挂载数据卷
                • 共享其他容器的数据卷-数据卷容器
                • 三、Docker 数据卷注意事项
                  • 数据卷使用注意
                  • 四、总结
                    • 重点掌握
                    相关产品与服务
                    容器服务
                    腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
                    领券
                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档