gpt4 book ai didi

如何恢复docker容器数据

转载 作者:qq735679552 更新时间:2022-09-28 22:32:09 29 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章如何恢复docker容器数据由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

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

docker system prune

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

然后我就去官方文档去研究这个命令是干什么的,上面用到的 docker system prune 意思是:

Remove all unused containers, networks, images (both dangling and unreferenced), and optionally, volumes. 。

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

By default, volumes are not removed to prevent important data from being deleted if there is currently no container using the volume. Use the --volumes flag when running the command to prune volumes as well

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

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

1.查找数据卷位置 。

数据卷目录在 /var/lib/docker/volumes 下,每个容器都会在该目录下有一个文件夹,如果容器还存在的话,我们可以使用 docker inspect 容器ID 去查看 数据卷位置,这下容器被删除了,可怎么办,只能挨个去找了,一般 MySQL 容器数据卷目录下会有一个 _data 目录,该目录下会显示你每个数据库的文件夹,最终找到了.

如何恢复docker容器数据

如何恢复docker容器数据

这个 cxhello 就是我们的测试库,现在我们就可以恢复数据了.

2.恢复 。

使用 docker volume create 数据卷名字 命令新建一个数据卷,docker volume ls 查看数据卷列表 。

如何恢复docker容器数据

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

然后创建容器 。

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

如何恢复docker容器数据

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

cd /var/lib/docker/volumes/mysqldata/_data/rm -f *rm -f -R *

如何恢复docker容器数据

复制内容到数据卷 。

cd /var/lib/docker/volumes/1db16a9dfdf3442b117ebc2ec11df5df4db717cfd567c77fa0a49905a9652fa0/_data/cp -R * /var/lib/docker/volumes/mysqldata/_data/

如何恢复docker容器数据

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

如何恢复docker容器数据

参考文章 。

https://docs.docker.com/engine/reference/commandline/system_prune/ 。

https://www.cnblogs.com/cheyunhua/p/13433400.html 。

到此这篇关于如何恢复docker容器数据 的文章就介绍到这了,更多相关docker容器数据恢复内容请搜索我以前的文章或继续浏览下面的相关文章希望大家以后多多支持我! 。

原文链接:https://blog.csdn.net/tianyucxh/article/details/116594920 。

最后此篇关于如何恢复docker容器数据的文章就讲到这里了,如果你想了解更多关于如何恢复docker容器数据的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com