47

我想暂停一个 Docker 容器并稍后恢复。如何才能做到这一点?通过暂停,我的意思是它应该保存正在进行的进程的状态(例如视频编码),然后随时恢复它。

4

5 回答 5

58

0.12.0 版本开始,Docker 支持使用 cgroup freezer 暂停PAUSEUNPAUSE恢复容器的命令。

于 2014-06-14T09:16:57.520 回答
7

AFAIK 现在不能用纯 docker 完成,但 lxc 支持。我已经与 docker 玩了一点,并确认这可以通过 lxc-freeze -n <containtr.id> 并恢复操作 来完成lxc-unfreeze -n <container.id> 但在 v0.2.0 中,即使使用 -notrunc 和 lxc-ls 输出在我的系统上为空,docker ps 也只会缩短容器 ID(奇怪,需要阅读更多关于它的信息,因为 docker 使用普通的 lxc-start 和参数,所以 lxc-ps 应该打印这个)。我找到了完整的容器 id lxc-ps。添加 docker freeze 命令会很好。也许是时候让我学习一些围棋了:)

于 2013-04-30T13:54:30.423 回答
6

命令:

$ docker pause <containerName>
$ docker unpause <containerName>

这是它们的实际演示:

在此处输入图像描述

于 2019-07-01T09:10:54.740 回答
3

这是最近在用户空间 (CRIU) + Docker 中进行检查点/恢复的实验性集成的最新平台。

于 2014-09-25T19:34:49.713 回答
1

Docker has just released an (as yet) undocumented volumes and data storage feature set. tl;dr if you use the -v commandline option you can specify a path to map outside of the container to a special docker path (/var/lib/docker/volumes/{FULL_ID}) where FULL_ID can be found by docker inspect container_id. An example is docker run -d -v /data danielvf/myapp:1.0 runapp which would externalize the /data directory into a docker volume.

https://github.com/dotcloud/docker/issues/111

Roadmap for this feature: (doesn't yet document it's existence): https://github.com/dotcloud/docker/wiki/Volumes-&-persistent-data-storage

于 2013-07-19T23:56:35.307 回答