Docker容器的数据管理

Docker容器的数据管理

Docker容器的数据管理

什么是数据卷(Data Volume)?

  • 数据卷是经过特殊设计的目录,可以绕过联合文件系统(UFS),为一个或者多个容器提供访问
  • 数据卷设计的目的,在于数据的永久化,它完全独立与容器的生存周期,因此,Docker不会在容器删除时删除其挂载的数据卷,也不会存在类似的垃圾收集机制,对容器引用的数据卷进行处理

    Docker容器的数据管理

数据卷(Data Volume)的特点

  • 数据卷在容器启动时初始化,如果容器使用的镜像文件在挂载点包含了数据,这些数据会拷贝到新初始化的数据卷中
  • 数据卷可以在容器之间共享和重用
  • 可以对数据卷里的内容直接进行修改
  • 数据卷的变化不会影响镜像文件的更新
  • 卷会一直存在,即使挂载数据卷的容器已经被删除

数据卷的使用

为容器添加数据卷

1.sudo docker run -v ~/container_data:/data -it ubuntu /bin/bash

~/container_data:本机文件目录

/data:容器中文件目录

为数据卷添加访问权限

1.sudo docker run -v ~/datavolume:/data:ro -it ubuntu /bin/bash

:ro:只读文件权限

使用Dockerfile构建包含数据卷的镜像

Dockerfile指令:

VOLUME["/data"]

数据卷容器

什么是数据卷容器?

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

Docker容器的数据管理

挂载数据卷容器的方法

1.docker run --volumes-from [CONTAINER NAME]

数据卷的备份和还原

数据备份方法

1.docker run --volumes-from [container name] -v $(pwd):/backup ubuntu tar cvf /backup/backup.tar [container data volume]

Docker容器的数据管理

数据还原方法

1.docker run --volumes-from [container name] -v $(pwd):/backup ubuntu tar xvf /backup/backup.tar [container data volume]
上一篇:jQuery对象和dom对象的辨析和相互转化


下一篇:UP Board 妄图启动ubilinux失败