docker数据管理和数据卷的备份与恢复

docker数据管理

挂载宿主机的目录到容器里

docker run -itd -v localdir:containerdir mirrorsname bash

containerdir目录会自动创建

docker run -itd -v /data:/container/data centos8 bash

进入到容器的挂载目录写入数据会自动保存到 localdir目录

挂载数据卷到容器里

docker run -itd --volumes-from 容器名 镜像名 bash

好比将一个容器的数据复制到了另一个容器里
数据卷其实就是一个容器的共享文件
在这里插入图片描述

定义数据卷容器

多个容器之间相互共享数据,类似于NFS,所以就可以搭建一个专门的数据卷容器,然后其它容器直接挂载该数据卷。

docker run -itd -v /containerdir --name datavol mirrorsname bash

其它容器挂载该数据卷

docker run -itd --volumers-from datavol mirrorsname bash

数据卷的备份与恢复

备份

新建一个数据卷,在数据卷中写点数据

docker run -itd -v /data/ --name testvol centos8 bash
docker exec -it testvol bash
echo aaa > /data/1.txt

创建一个本地备份目录

mkdir /local/backup -p

借助一个新容器对 testvol 进行备份

docker run --volumes-from testvol -v /local/backup/:/backup centos8 tar cvf /backup/data.tar /data

在这里插入图片描述

备份好的文件
在这里插入图片描述

恢复

新建数据卷

docker run -itd -v /data --name testvol2 centos8 bash

建一个新的容器并挂载该数据卷容器,然后再把tar包解包

docker run --volumes-from testvol2 -v /local/backup/:/backup centos8 tar xf /backup/data.tar

数据被恢复到容器testvol2:/data/1.txt
在这里插入图片描述

发布了112 篇原创文章 · 获赞 6 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/studywinwin/article/details/104862791