怎么恢复码头工人容器的数据

  介绍

这篇文章将为大家详细讲解有关怎么恢复码头工人容器的数据,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

项目测试环境数据库数据丢失,特此记录一下。当时是用码头工人安装的,以为临时使用一段时间,也没有持久化。突然前天码头工人日志满了,同事想着去清理日志,使用了如下命令:

docker  system 删除

结果当时MySQL容器当时正常处于停止状态,结果容器一下子就被干掉了,我们备份的数据还是三月份的,这下糟糕了。然后各种研究开始恢复。

然后我就去官方文档去研究这个命令是干什么的,上面用到的<代码>码头工人系统删除意思是:

删除所有未使用的容器、网络、图片(包括悬挂和未引用),和可选地,卷。

删除所有未使用的容器,网络,图像(悬空和未引用的图像)以及卷(可选)。

默认情况下,卷不移除防止重要数据被删除如果目前还没有容器使用体积。使用<代码> ——卷旗在运行命令来删除卷:

默认情况下,如果当前没有使用卷的容器,则不会删除卷以防止删除重要数据。运行命令时也可以使用<代码> ——卷标志来修剪卷:

这下心放下了一半,还好数据卷没有被删除,我们可以利用数据卷可以进行恢复数据。接下来记录下我的恢复方案吧。

1。查找数据卷位置

数据卷目录在<代码>/var/lib/码头工人/卷下,每个容器都会在该目录下有一个文件夹,如果容器还存在的话,我们可以使用<代码>码头工人检查容器ID> _data 目录,该目录下会显示你每个数据库的文件夹,最终找到了。

怎么恢复码头工人容器的数据

怎么恢复码头工人容器的数据

这个<代码> cxhello>

2。恢复

使用<代码>码头工人卷创建数据卷名字命令新建一个数据卷,<代码>码头工人卷ls>

怎么恢复码头工人容器的数据

注意:使用数据卷进行挂载的时候,数据卷必须是一个空的目录,也就是说不能有任何数据。

然后创建容器

docker  run  -d  -p  3309:3306  -v  mysqldata:/var/lib/mysql  -e  MYSQL_ROOT_PASSWORD=123456,——name  huifu  mysql: 5.7

怎么恢复码头工人容器的数据

在恢复数据之前需要把刚刚建立的数据卷里面关联的内容删除掉,然后把之前的数据卷内容复制到现在的数据卷进行数据恢复。

cd /var/lib/码头工人/卷/mysqldata/_data/rm  -f  *   rm  -f  -R  *

怎么恢复码头工人容器的数据

复制内容到数据卷

cd /var/lib/码头工人/卷/1 db16a9dfdf3442b117ebc2ec11df5df4db717cfd567c77fa0a49905a9652fa0/_data/cp  -R  *,/var/lib/码头工人/卷/mysqldata _data/

怎么恢复码头工人容器的数据

至此数据库数据恢复完成,进入恢复的容器查看

怎么恢复码头工人容器的数据

关于怎么恢复码头工人容器的数据就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。

怎么恢复码头工人容器的数据