首页 Docker教程Docker-数据管理介绍

dockerfile生产案例- 基于ubuntu基础镜像制作nginx镜像

Docker-数据卷管理使用

运维派是国内成立最早的IT运维技术社区,欢迎关注公众号:yunweipai

Docker 数据管理

如果将正在运行中的容器修改生成了新的数据,或者修改了现有的一个已经存在的文件内容,那么新产生的数据将会被复制到读写层,进行持久化保存,这个读写层也就是容器的工作目录,此即“写时复制(COW) copy on write”机制。
如下图是将对根的数据写入到了容器的可写层,但是把/data 中的数据写入到了一个另外的volume 中用于数据持久化

Docker-数据管理介绍插图

容器的数据管理介绍

Docker镜像是分层设计的,镜像层是只读的,通过镜像启动的容器添加了一层可读写的文件系统,用户写入的数据都保存在这一层中。

Docker容器的分层

容器的数据分层

-LowerDir:image 镜像层(镜像本身,只读)
-UpperDir:容器的上层(读写)
-MergedDir:容器的文件系统,使用Union FS(联合文件系统)将lowerdir 和upperdir 合并给容器使用
-WorkDir:容器在 宿主机的工作目录

范例:查看指定容器数据分层

哪些数据需要持久化

Docker-数据管理介绍插图(1)

  • 左侧是无状态的http请求服务,右侧为有状态
  • 下层为不需要存储的服务,上层为需要存储的部分服务
容器数据持久保存方式

如果要将写入到容器的数据永久保存,则需要将容器中的数据保存到宿主机的指定目录

Docker的数据类型分为两种:

  • 数据卷(data volume):直接使用宿主机目录,数据卷类似于挂载的一块磁盘,数据容器是将数据保存在一个容器上 ,推荐使用此种方式,此方式较常用
  • 数据卷容器(Data volume container):间接使用宿主机空间,数据卷容器是将宿主机的目录挂载至一个专门的数据卷容器,然后让其他容器通过数据卷容器读写宿主机的数据 ,此方式不常用

Docker-数据管理介绍插图(2)

本文链接:http://www.yunweipai.com/34859.html

dockerfile生产案例- 基于ubuntu基础镜像制作nginx镜像

Docker-数据卷管理使用

网友评论comments

发表评论

电子邮件地址不会被公开。 必填项已用*标注

暂无评论

Copyright © 2012-2020 YUNWEIPAI.COM - 运维派
扫二维码
扫二维码
返回顶部