快速入门Docker---Docker容器的数据卷和数据卷容器

Docker容器的数据卷

Docker的生存周期通常和其运行的程序相一致,但是对数据的要求是持久的,另一方面,dokcer容器之间也需要共享数据的渠道。

Data Volume是一种经过特殊处理的目录,可以绕过联合文件系统,为一个或多个容器提供服务。

Data Volume设计的目的在于数据的永久化,它完全独立与容器的生存周期,因此,Docker不会再容器删除时删除其挂载的数据卷,

也不会存在类似的垃圾回收机制,对容器引用的数据卷进行处理。

docker run -it -v [host-dir]:[containter-dir]:ro|rw
      host-dir:表示 Host上的目录,如果不存在,Docker会自动创建目录
      containter-dir:表示容器内部定义的目录,如果不存在,Docker会自动创建目录
      ro|rw :用于控制卷的读写权限



当不指定 host-dir时,从而在容器内部创建目录。
docker run -it -v /volumn centos  /bin/bash

实际上Docker会在Host的 /var/lib/docker/volumns 目录中随机的生存一个目录,然后去挂载 /volume。


通过Host访问容器中创建的 test 文件


这种方式创建的数据卷,如果没有别的容器引用这个数据卷,当容器删除后,对应的Host目录也会删除。【从书上看到的,但是自己试验的结果是这样子】

一样的方法创建了三个容器,在容器中都增加了数据卷,没有指定Host目录,把三个容器最后都删除掉后,查看/var/lib/docker/volumns。发现临时文件还存在。里边的数据还在。

指定Host目录

docker run -it --name test -v /datavolumn:/data centos /bin/bash

在容器的Data Volumn中写入数据

在Host中查看和Docker共享的数据

删除容器test 后,查看数据依然存在。


Docker的数据卷容器

一个命名的容器挂载数据卷,其它容器通过挂载这个容器实现数据共享,挂载数据卷的容器,就叫做数据卷容器。

如果用户想在容器之间共享一些持续更新的数据,最简单的方法是使用数据卷容器。数据卷容器其实就是一个普通的容器,专门用它提供数据卷供其它容器挂载使用。

docker run --volumes-from [CONTAINER NAME]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值