docker的数据管理:
数据卷: 一个绕过UFS的特殊目录,可供多个容器使用。 特性: 1.可以在容器之间共享和重用 2.数据卷的修改会立即生效 3.更新数据卷不影响p_w_picpath 4.数据卷会一直存在,直到没有容器使用 方式1:创建数据卷 创建容器的时候使用-v CONTDIR 指定数据卷。 方式2:挂载宿主机的目录作为数据卷 创建容器的时候使用-v HOSTDIR:CONTDIR 方式3:挂载宿主机的文件作为数据卷 创建容器的时候使用-v HOSTFILE:CONTDIR 注意:此方法不推荐,例如vim等工具会造成文件inode的改变,从而会报错。建议直接挂载文件的父目录。 注意:CONTDIR的权限为rw,也可以使用-v HOSTDIR:CONTDIR:ro指定为只读。 HOSTDIR中的文件在容器关闭后仍然存在,所以可以用来存放数据。 数据卷容器: 本质上也是个容器,专门用来提供数据卷给其他容器挂载。 方法如下: 创建容器的时候使用-v CONTDIR 指定数据卷。 其他容器使用数据卷容器: 创建容器时使用--volumes-from CONTNAME来挂载,指定的container并不需要保持运行状态。 数据卷的备份、恢复、迁移: 1.备份: 假设有个容器A启动时创建了名为/test的数据卷。 新创建一个容器使,使用--volumes-from A ,同时-v 一个宿主机目录/abc到/def 这样新容器中就有2个目录,/test为数据卷,/def为宿主机/abc的挂载。 可以使用tar命令 来备份/test的内容到/def下。这样数据卷中的内容就被备份到宿主机/abc中。 2.恢复 和备份类似,也是通过创建一个新的容器,同时挂载本地文件夹和要回复数据的数据卷容器,然后通过tar等命令来恢复。