漂亮蓝影 发表于 2019-2-22 06:06:39

Docker容器数据管理

  首先了解个概念:
什么是数据卷(DataVolume):
数据卷是经过特殊设计的目录,可以绕过联合文件系统(UFS),为一个或多个容器提供访问。
数据卷设计的目的,在于数据的永久化,它完全独立与容器的生存周期,因此,Docker不会在容器删除时删除其挂载的数据卷,也不会存在类似的垃圾收集机制,对容器引用的数据卷进行处理。
https://s1.运维网.com/images/blog/201804/25/57ee88e0fba56ca5264a36859d199b86.png
数据卷(Data Volume)的特点:
数据卷在容器启动时初始化,如果容器使用的镜像在挂载点包含了数据,这些数据会拷贝到新初始化的数据卷中。
数据卷可以在容器之间共享和重用。
可以对数据卷里的内容直接进行修改。
数据卷的变化不会影响镜像的更新。
卷会一直存在,即使挂载数据卷的容器已经被删除。
  为容器添加数据卷:
$ docker run -v~/container_data:/data -i-tcentos/bin/bash
  为数据卷添加访问权限
$ docker run -v ~/datavolume:/data:ro -it centos/bin/bash
  使用Dockerfile构建包含数据卷的镜像
Dockerfile指令:
VOLUME[ "/data" ]
  什么是数据卷容器:
命令的容器挂载数据卷,其他容器通过挂载这个容器实现数据共享,挂载数据卷的容器,就叫做数据卷容器
https://s1.运维网.com/images/blog/201804/25/70957261e7b76e1f7b0f48f57cfd95df.png
挂载数据卷容器的方法
$ docker run --volumes-from[ CONTAINER NAME ]
https://s1.运维网.com/images/blog/201804/25/4ad048a04c4c8e882bca143b66f6212e.png
  数据备份方法
$docker run --volumes-from[ container name ]-v$(pwd):/backup centostar cvf/backup/backup.tar[ containerdatavloume ]
https://s1.运维网.com/images/blog/201804/25/5eb62931c111052ccfe2b78d7bb8e0ad.png
https://s1.运维网.com/images/blog/201804/25/c3b12a27639e08e3030530a5bbdc76cb.png
数据还原方法
$ docker run --volumes-from[ container name ]-v $(pwd):/backup centos tar xvf /backup/backup.tar   [ container data volume ]



页: [1]
查看完整版本: Docker容器数据管理