将Docker容器还原为原始映像而不重新启动它?

时间:2015-08-26 23:21:07

标签: testing docker automated-tests

通常情况下,人们都在想让Docker在他们的容器中保存数据,并且有大约两千万个关于如何做到这一点的问题,但我是一个测试人员,我想把我刚刚做的所有废话转储到我的数据中并恢复到我的已知状态(又名我的形象)。

我知道我可以通过根据我的图像启动一个新容器来做到这一点,但这迫使我断开连接并重新连接到我的容器的任何网络连接,这是一个巨大的痛苦。

是否可以将正在运行的容器恢复为原始图像而不重新启动它?

3 个答案:

答案 0 :(得分:1)

要恢复到原始状态,您必须重新启动容器 - 这很重要,因为容器映像只是一堆文件,实际运行的容器必须启动某个进程,因此,您无法还原容器在运行时,由于该过程很可能会出现问题。

所以要回答你的问题 - 重新启动容器,docker镜像只需几毫秒即可启动 - 剩下的时间就是启动过程。

答案 1 :(得分:1)

在它运行时,很遗憾,您将无法还原或更改图像。您需要停止运行的容器并将其删除。一旦您的卷不再连接到任何容器,运行命令docker volume prune将破坏当前未连接到容器的所有卷。

然后,您可以简单地从映像中重新启动docker容器,然后您将重新开始。

当我学习docker:https://medium.com/the-code-review/top-10-docker-commands-you-cant-live-without-54fb6377f481

时,我还发现这篇文章是很好的参考。

答案 2 :(得分:0)

请勿将卷装入容器。卷,无论是数据还是fs挂载都是持久的。如果您不保留数据,则可以使用docker重启我的容器。