- Docker容器的数据卷
- Data Volume(数据卷) 是经过特殊设计的目录,可以绕过联合文件系统(UFS),为一个或多个容器提供访问
- 数据卷设计的目的,在于数据的永久化,它完全独立于容器的生存周期,因此,Docker不会再容器删除时删除其挂在的数据卷,也不会存在类似的垃圾收集机制,对容器引用的数据卷进行处理。
- 数据卷的特点:
- 数据卷在容器启动时初始化,如果容器使用的镜像在挂载点包含了数据,这些数据会拷贝到新初始化的数据卷中。
- 数据卷可以在容器之间共享和重用。
- 可以对数据卷里的内容直接进行修改。
- 数据卷的变化不会影响镜像的更新。
- 卷会一致存在,即使挂载数据卷的容器已经删除。
- 为容器添加数据卷
- docker run -it -v ~/datavolume:/data ubuntu /bin/bash
- 为数据卷添加访问权限
- docker run -it -v ~/datavolume:/data:ro --name dvt1 ubuntu /bin/bash //添加只读权限
- 使用Dockerfule构建包含数据卷的镜像
- Dockerfile指令:
- VOLUME["/data"]
- Dockerfile指令:
================================================
- Docker的数据卷容器
- 命名的容器挂载数据卷,其他容器通过挂载这个容器数显数据共享,挂载数据卷的容器就叫做数据卷容器。
- 挂载数据卷容器的方法:
- docker run --volumes -from [容器名] ubuntu /bin/bash
===================================================
- Docker数据卷的备份与还原
- 数据备份的方法:
- docker run --volumes-from [容器名] -v$(pwd):/backup ubuntu
- tar cvf/backup/backup.tar [container data volume]
- 数据还原方法:
- docker run --volumes-from [容器名] -v$(pwd):/backup ubuntu
- tar xvf /backup/backup.tar [container data volume]
- 数据备份的方法: