栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Docker中的数据卷4

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Docker中的数据卷4

1、数据卷
数据卷是一个可供一个或者多个容器使用的特殊目录,它绕过UFS,可以提供很多有用的特征:
1.1数据卷可以在容器之间共享和重用
1.2对数据卷的修改会立马生效
1.3对数据卷的更新,不会影响镜像
1.4卷会一直存在,直到没有容器使用
*1.5数据卷的使用,类似于Linux下对目录或者文件进行mount
2、创建数据卷(也就是一个目录)
2.1创建数据卷
#docker run -d -P -it --name data1 -v /root/docker:/opt/docker centos /bin/bash
-v标记创建一个数据并且挂载带容器里
-name指定容器的名称
-d是指守护态下运行(daemon)
启动后,使用docker attach命令进入守护状态运行的容器中
2.2和建立的卷名data1交互
#docker attach data1
2.3#ls 会发现建立的datas文件夹
2.4/root/docker:/opt/docker #指本地目录下docker文件夹下面所有文件会映射到数据卷的/opt/docker目录下,/bin/bash指运行本地目录下的bash文件
3、创建数据卷容器
3.1数据卷容器是一个正常的容器,专门用来提供数据卷供其他容器挂载
#docker run -d -it -v /database --name db training/postgres /bin/bash
#docker attach db
#touch aaa
#vi aaa #里面添加文件xxxxx
3.2在其他容器中使用–volumes-from挂载db容器中的数据卷!!
#docker run -d -it --volumes-from db --name db1 -it training/postgres --privileged=true /bin/bash
3.3此时
#docker attach db1
#cd database 能看到文件aaa及里面的文件xxxx
#说明数据卷容器被其他容器挂载之后,数据卷容器数据可以被其他挂载的容器之间实现数据共享!!!!
4.数据卷的作用(数据卷备份到容器)
4.1使用数据卷来备份数据,通过指定本地的一个文件路径,对应到容器中的路径,运行tar命令将重要的文件打包备份
#可能会有读取权限问题,在映射路径后加上–privileged=true就可以
#docker run --volumes-from db -v $(pwd):/docker --privileged=true --name db2 -it centos /bin/bash
4.2database文件夹数据备份
[root@27f17a9fafb1 docker]# tar cvf database.tar /database/
4.3同时退出到docker目录下,会发现备份的数据文件夹database.tar
5.容器数据数据恢复到数据卷容器
5.1要将数据恢复到数据卷容器,首先要创建一个带有数据卷的容器db10
#docker run -it -d --name db10 -v /database centos /bin/bash
5.2挂载db11到容器db10
#docker run -it -d --name db11 --volumes-from db10 -v $(pwd):/docker --privileged=true centos /bin/bash
5.3#docker attach db11 可以看到docker里面有之前的所有备份数据
5.4解压备份到数据卷容器的指定文件夹/database
# tar xvf database.tar -C /database

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/871534.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号