文档详情

Docker容器技术 配置、部署与应用电子活页-03.07.通过卷容器实现卷的备份、恢复和迁移.docx

发布:2025-05-13约1.82千字共2页下载文档
文本预览下载声明

通过卷容器实现卷的备份、恢复和迁移

卷容器又称数据卷容器,是一种特殊的容器,专门用来将卷(也可以是绑定挂载)提供给其他容器挂载。使用dockerrun或dockercreate命令创建容器时可通过--volumes-from选项基于卷容器创建一个新的容器,并挂载卷容器提供的卷。下面给出一个备份、恢复卷的示例。

1.创建卷容器

(1)执行以下命令创建一个名为dbstore的卷容器,挂载一个匿名卷(/dbdata)。

[root@host1~]#dockercreate-v/dbdata--namedbstorebusybox/bin/sh

60a9bbd562a9d53b6e5c6263ca094c2931972f28c499832c81363f7100c94a5e

(2)使用dockerinspectdbstore命令查看容器详细信息,Mounts部分信息如下。

Mounts:[

{

Type:volume,

Name:b7bd4782109c7ce7b4035f5c67cbef2e8ee0c6e2012491c570f3f6a2b40953ff,

Source:/var/lib/docker/volumes/b7bd4782109c7ce7b4035f5c67cbef2e8ee0c6e2012491c570f3f6a2b40953ff/_data,

Destination:/dbdata,

Driver:local,

Mode:,

RW:true,

Propagation:

}

],

2.备份卷容器

执行以下命令完成以下3项任务。

[root@host1~]#dockerrun--rm--volumes-fromdbstore-v$(pwd):/backupubuntutarcvPf/backup/backup.tar/dbdata

/dbdata/

?启动一个新的容器并从dbstore容器中挂载卷。

?将本地主机的当前目录挂载为/backup。

?传送一个命令,将dbdata卷的内容打包为/backup/backup.tar文件。

命令完成后会自动停止容器,并且在主机当前目录中留下一个dbdata卷的备份文件backup.tar。

[root@host1~]#ls-lbackup.tar

-rw-r--r--1rootroot102401月1917:39backup.tar

3.从备份中恢复卷容器

创建备份之后,可以将它恢复到同一个容器,或者另一个在别处创建的容器。例如,创建一个名为dbstore2的新容器,如下所示。

[root@host1~]#dockerrun-v/dbdata--namedbstore2ubuntu/bin/bash

然后在新容器的数据卷中将备份文件解压缩,如下所示。

[root@host1~]#dockerrun--rm--volumes-fromdbstore2-v$(pwd):/backupubuntubash-ccd/dbdatatarxvPf/backup/backup.tar--strip1

启动的新容器的/backup目录挂载了主机当前目录,同时挂载了dbstore2数据卷容器。因为主机当前目录中有之前备份好的backup.tar文件,所以新创建容器的/backup目录中也有backup.tar文件,解压这个备份文件–C是指定解压位置的符号,解压到新容器的/目录下,所以新容器的/目录下就会得到/dbdata目录,又由于/dbdata是挂载dbstore卷容器的目录,所以会同步到dbstore容器,这样就将dbstore容器中//dbdata的数据恢复回来。

显示全部
相似文档