我可以暂停/恢复Docker容器吗?

时间:2020-01-24 12:58:18

标签: docker docker-desktop

我正在使用Windows的docker桌面(Linux容器模式)来运行批处理作业,其中涉及高级波声学模拟和用于游戏开发的预计算。在我的AMD 3950x(16核32线程)上,工作大约需要11天。问题是我也将计算用于其他工作(小型独立工作室在下班后使用计算机处理个人物品)。

所以我想暂停工作,以便可以将计算机用于其他用途。比以后再恢复。在最新的Windows Docker桌面上,这是否可行?

2 个答案:

答案 0 :(得分:1)

docker pausedocker unpause命令,值得一试。我怀疑重启后将无法生存。

您还可以启用一项实验性功能,该功能将保留在磁盘上:https://docs.docker.com/engine/reference/commandline/checkpoint/

https://technology.amis.nl/2018/04/08/first-steps-with-docker-checkpoint-to-create-and-restore-snapshots-of-running-containers/似乎是使用它的教程。

答案 1 :(得分:1)

有一个pauseunpause命令。但是这些只是暂停过程,因此它们无法在重新启动计算机后幸存下来。

可能您想要持久的东西。为此,您可以在两个命令集之间进行选择:

保存/加载

使用save命令将创建一个tar归档文件,其中包含您容器的当前状态。使用load,您可以重新开始该状态。缺点是将保存图像的所有层。因此,这可能会导致大量存档。

导出/导入

作为替代方案,您可以使用export导出容器的第一层。

docker export命令不会导出与容器关联的卷的内容。如果将卷安装在容器中现有目录的顶部,则docker export将导出基础目录的内容,而不是卷的内容。

通过导入,您可以再次创建容器。

好处是,最终您会得到较小的文件,并且导入可能会更快,因为您的计算机上可能已经存在基础层。


在两种情况下,您都可以与其他计算机共享结果文件,并将其存储在专用存储库中。 也请查看migration guide以获取更多启发。

相关问题