我正在使用Windows的docker桌面(Linux容器模式)来运行批处理作业,其中涉及高级波声学模拟和用于游戏开发的预计算。在我的AMD 3950x(16核32线程)上,工作大约需要11天。问题是我也将计算用于其他工作(小型独立工作室在下班后使用计算机处理个人物品)。
所以我想暂停工作,以便可以将计算机用于其他用途。比以后再恢复。在最新的Windows Docker桌面上,这是否可行?
答案 0 :(得分:1)
有docker pause
和docker unpause
命令,值得一试。我怀疑重启后将无法生存。
您还可以启用一项实验性功能,该功能将保留在磁盘上:https://docs.docker.com/engine/reference/commandline/checkpoint/。
答案 1 :(得分:1)
有一个pause和unpause命令。但是这些只是暂停过程,因此它们无法在重新启动计算机后幸存下来。
可能您想要持久的东西。为此,您可以在两个命令集之间进行选择:
使用save命令将创建一个tar归档文件,其中包含您容器的当前状态。使用load,您可以重新开始该状态。缺点是将保存图像的所有层。因此,这可能会导致大量存档。
作为替代方案,您可以使用export导出容器的第一层。
docker export命令不会导出与容器关联的卷的内容。如果将卷安装在容器中现有目录的顶部,则docker export将导出基础目录的内容,而不是卷的内容。
通过导入,您可以再次创建容器。
好处是,最终您会得到较小的文件,并且导入可能会更快,因为您的计算机上可能已经存在基础层。
在两种情况下,您都可以与其他计算机共享结果文件,并将其存储在专用存储库中。 也请查看migration guide以获取更多启发。