能否暂停Docker容器并保存其状态以便稍后恢复?

3
这类似于让计算机进入睡眠模式。顺便说一下:我是在使用Kubernetes管理容器的上下文中提出这个问题的。
提问的原因是我们想要运行很多交互式作业,并且希望当用户不积极工作时暂停这些作业,以释放资源并供其他用户使用。
1个回答

1
是的,您可以使用docker stopdocker start命令。这会使您的计算机暂停。
容器内产生的所有数据都将被保存。但主进程将接收到SIGTERM信号。在docker启动后,此进程将再次启动。
还请查看docker pause command

docker pause命令挂起指定容器中的所有进程。在Linux上,这使用cgroups冷冻器。传统上,在挂起进程时使用SIGSTOP信号,该信号可由被挂起的进程观察到。使用cgroups冷冻器,进程不知道自己正在被挂起,也无法捕获,随后恢复。在Windows上,只有Hyper-V容器可以暂停。


1
它不会重新启动内存状态吗?我想保存内存状态,并在容器恢复时重新加载它。这样,用户就不必重新运行他们的工作。 - Fabian
1
如果你想要保存内存数据,可以使用 docker pause 命令。我会更新我的答案。 - Bukharov Sergey
2
停止/启动就像关闭您的计算机一样。暂停/恢复就像挂起 - https://docs.docker.com/engine/reference/commandline/pause/ - Matt

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接