Docker中的数据卷4

本文详细介绍了数据卷在Docker中的应用,包括如何创建、共享、备份和恢复数据,以及其在容器间数据持久化的重要性。通过实例演示了数据卷的挂载、容器间数据卷的使用和管理,适合理解Docker数据持久化的开发者阅读。
摘要由CSDN通过智能技术生成

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

早安&早安

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值