docker存储

docker学习笔记


一,docker存储

docker为容器提供了两种存放数据的资源:

  1. 由storage driver管理的镜像层和容器层,可以简单理解为某个docker镜像的数据层。
  2. data volume。

对于某些容器,直接将数据放在由storage driver维护的层中是很好的选择,比如那些无状态的应用。无状态意味着容器没有需要持久化的数据,随时可以从镜像直接创建,即存在与否依赖镜像的存在。
比如 busybox ,它是一个工具箱,启动 busybox 是为了执行诸如 wget 、ping 之类的命令,不需要保存数据供以后使用,使用完直接退出,容器删除时存放在容器层的工作数据也一起被删除,这没问题,下次再启动新容器即可。

但对于另一类应用这种方式就不合适了,它们有持久化数据的需求,容器启动时需要加载已有的数据,容器销毁时希望保留产生的新数据,也就是说,这类容器是有状态的,例如数据库。
这就要用到 docker 的另一个存储机制:data volume 。


二,data volume

data volume 本质上是docker host文件系统中的目录或文件,能够直接被mount到容器的文件系统中。
data volume有以下特点:

  1. data volume是目录或文件,而非没有格式化的磁盘(或设备)。
  2. 容器可以读写volume中的数据。
  3. volume数据可以被持久化地保持,即使使用它的容器已经销毁。

三,数据共享

数据共享是volume的关键特性,volume可以在容器与host之间、容器与容器之间共享数据。


四,volume container

volume container是专门为其他容器提供volume的容器。它提供的卷可以是bind mount,也可以是docker managed volume。


五,data-packed volume container

data-packed volume container可以将数据放到volume container中,同时又能与其他容器共享。
data-packed volume container原理是将数据打包到镜像中,然后通过docker managed volume 共享。


六,参考资料

《每天5分钟 玩转docker容器技术》

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值