问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Docker数据卷备份与恢复实战指南

创作时间:
作者:
@小白创作中心

Docker数据卷备份与恢复实战指南

引用
CSDN
1.
https://blog.csdn.net/qq_45300786/article/details/103846640

在使用Docker时,数据卷的备份与恢复是一个重要的运维任务。本文将详细介绍如何在没有目录映射的情况下对Docker数据卷进行备份和恢复,帮助读者掌握这一实用技能。

Docker数据卷备份

创建需要备份的数据卷

首先,我们需要创建一个包含数据卷的Docker容器。使用以下命令创建一个名为c1的CentOS容器,并在容器内创建一个名为/opt/zz的数据卷:

docker run -itd -v /opt/zz --name c1 centos /bin/bash
  • -itd:以交互方式运行容器,并在后台运行
  • -v:指定容器内的数据卷,如果数据卷不存在则自动创建
  • --name:自定义容器名称
  • /bin/bash:容器启动时执行的命令

验证数据卷备份功能

为了验证数据卷备份功能,我们在挂载的/opt/zz目录下创建一个名为c11.txt的文件,并写入内容"woda":

[root@160e0646396d zz]# touch c11.txt
[root@160e0646396d zz]# echo "woda" > c11.txt 
[root@160e0646396d zz]# cat c11.txt
woda

接下来,使用--volumes-from参数标记需要备份的数据卷,并从主机挂载当前目录到容器的/v3目录。$(pwd)是Docker支持的指定当前目录的方法:

[root@client ~]# docker run --volumes-from c1 -v $(pwd):/v3 centos tar cvf /v3/c23.tar /opt/zz
tar: Removing leading `/' from member names
/opt/zz/
/opt/zz/c11.txt
  • --volumes-from <Container>:连接要备份数据的容器
  • -v $(pwd):/v3:挂载当前路径到容器的/v3目录
  • centos:使用的镜像
  • tar cvf /v3/c23.tar /opt/zz:将/opt/zz路径下的文件打包到c23.tar

数据卷恢复

备份完成后,我们可以通过以下步骤恢复数据:

创建带有空数据卷的容器

首先,创建一个带有空数据卷的容器c3

docker run -itd -v /opt/x2 --name c3 centos /bin/bash

恢复备份数据

创建另一个容器,挂载c3容器的数据卷,并使用untar解压备份文件到挂载的容器卷中:

docker run --volumes-from c3 -v $(pwd):/v3 centos tar xvf /v3/c23.tar

最后,为了验证恢复的数据,可以再启动一个容器挂载/opt/x2数据卷来查看:

[root@client ~]# docker run --volumes-from c3 -v $(pwd):/v3 centos tar xvf /v3/c23.tar
opt/zz/
opt/zz/c11.txt

通过以上步骤,我们成功将备份的c11.txt文件恢复到了c3容器中的数据卷。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号