mysql的容器坏了,如何恢复数据?

我们的IT打破了MySQL容器,现在无法启动。

我明白,我可以提交一个新版本,并运行它没有入口点,所以我可以“exec -it”进入并检查是什么错误。

但我怎样才能恢复我的数据? 检查旧的容器,并从安装的卷复制所有文件? (这似乎是一个矫枉过正的问题,我可以'启动'我的容器没有入口点?)

这个问题最好的做法是什么?

如果您已经安装了卷,则您的数据位于主机的卷目录中,除非您将其删除。 所以,修复你的MySQL镜像,然后创build另一个MySQL容器。

你应该可以通过使用docker attach或者docker exec来修复你的容器。 你甚至可以使用这样的东西来改变容器入口点: 如何用一个不同的命令启动一个已停止的Docker容器?

但是这不是一个好方法。 正如写入Dockerfiles的最佳实践中所述 ,Docker容器应该是短暂的,这意味着它们可以很容易地replace为新的。 所以,最好的select是破坏你的容器并创build一个新的容器。

我认为@kstromeiraos说,你应该首先修复你的Dockerfile,如果它已经坏了,再次构build和运行容器使用:

 docker build docker run -v xxx 

既然你已经使用了你的MySQL数据中的卷似乎正确的退出,所以出现的新容器应该有备份的数据。

你可以做:

 docker exec -it bash 

并进入容器并检查日志和数据。