本小节中,我们将学习如何对数据卷容器中的数据进行进行备份、恢复和迁移。
备份
首先使用 --volumes-from 命令创建一个加载 dbdata 的容器卷容器,并将宿主机当前目录挂载到容器的 /backup 目录,命令如下:
$ sudo docker run --volumes-from dbdata -v $(pwd):/backup ubuntu tar cvf /backup/backup.tar /dbdata
容器启动后,使用了 tar 命令来将 dbdata 数据卷备份为容器中 /backup/backup.tar 文件,因为挂载了的关系,宿主机的当前目录下也会生成 backup.tar 备份文件。
恢复/迁移
如果要恢复数据到一个容器,首先创建一个带有空数据卷的容器 dbdata2。
$ sudo docker run -v /dbdata --name dbdata2 ubuntu /bin/bash
然后创建另一个容器,挂载 dbdata2 容器卷中的数据卷,并使用 untar 解压备份文件到挂载的容器卷中。
$ sudo docker run --volumes-from dbdata2 -v $(pwd):/backup busybox tar xvf
/backup/backup.tar
为了查看/验证恢复的数据,可以再启动一个容器挂载同样的容器卷来查看:
$ sudo docker run --volumes-from dbdata2 busybox /bin/ls /dbdata
a:[["$","script",null,{"type":"application/ld+json","dangerouslySetInnerHTML":{"__html":"{\"@context\":\"https://schema.org\",\"@type\":\"Article\",\"headline\":\"Docker 使用数据卷容器备份、恢复、迁移数据卷\",\"description\":\"本小节中,我们将学习如何对数据卷容器中的数据进行进行备份、恢复和迁移。首先使用 --volumes-from 命令创建一个加载 dbdata 的容器卷容器 ...\",\"author\":{\"@type\":\"Organization\",\"name\":\"编码世界\"},\"publisher\":{\"@type\":\"Organization\",\"name\":\"编码世界\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://www.mashangan.com/static/logo-column3.png\"}},\"datePublished\":\"2022-07-17T17:21:00+08:00\",\"dateModified\":\"2022-07-17T17:21:00+08:00\"}"}}],["$","script",null,{"type":"application/ld+json","dangerouslySetInnerHTML":{"__html":"{\"@context\":\"https://schema.org\",\"@type\":\"BreadcrumbList\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"首页\",\"item\":\"https://www.mashangan.com\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Docker 使用数据卷容器备份、恢复、迁移数据卷\",\"item\":\"https://www.mashangan.com/docker/docker-volume-backup.html\"}]}"}}],["$","$L11",null,{"article":{"id":84,"title":"Docker 使用数据卷容器备份、恢复、迁移数据卷","keywords":"docker,数据卷,容器,备份,恢复,迁移","description":"本小节中,我们将学习如何对数据卷容器中的数据进行进行备份、恢复和迁移。首先使用 --volumes-from 命令创建一个加载 dbdata 的容器卷容器 ...","titleImage":"","createDate":"2022年7月17日","createTime":"17:21:00","isoCreateTime":"2022-07-17T17:21:00+08:00","updateTime":"2022年7月17日","isoUpdateTime":"2022-07-17T17:21:00+08:00","courseEnTitle":"docker","courseTitle":"Docker 教程","jumpUrl":"/docker/docker-tutorial.html","enTitle":"docker-volume-backup","contentHtml":"
本小节中,我们将学习如何对数据卷容器中的数据进行进行备份、恢复和迁移。
\n
备份
\n
首先使用 --volumes-from 命令创建一个加载 dbdata 的容器卷容器,并将宿主机当前目录挂载到容器的 /backup 目录,命令如下:
\n
$ sudo docker run --volumes-from dbdata -v $(pwd):/backup ubuntu tar cvf /backup/backup.tar /dbdata\n
\n
容器启动后,使用了 tar 命令来将 dbdata 数据卷备份为容器中 /backup/backup.tar 文件,因为挂载了的关系,宿主机的当前目录下也会生成 backup.tar 备份文件。
\n
恢复/迁移
\n
如果要恢复数据到一个容器,首先创建一个带有空数据卷的容器 dbdata2。
\n
$ sudo docker run -v /dbdata --name dbdata2 ubuntu /bin/bash\n
\n
然后创建另一个容器,挂载 dbdata2 容器卷中的数据卷,并使用 untar 解压备份文件到挂载的容器卷中。
\n
$ sudo docker run --volumes-from dbdata2 -v $(pwd):/backup busybox tar xvf\n/backup/backup.tar\n
\n
为了查看/验证恢复的数据,可以再启动一个容器挂载同样的容器卷来查看: