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

时间:2013-04-16 22:05:17

标签: docker

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

5 个答案:

答案 0 :(得分:50)

截至Version 0.12.0,Docker支持使用cgroup freezer暂停和恢复容器的PAUSEUNPAUSE命令。

答案 1 :(得分: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和params所以lxc-ps应该打印这个)。我找到了lxc-ps的完整容器ID。添加docker freeze命令会很不错。也许现在是我学习一些东西的时候了:))

答案 2 :(得分:3)

答案 3 :(得分:1)

Docker刚刚发布了一个(尚未)未记录的卷和数据存储功能集。 tl; dr如果使用-v命令行选项,则可以指定在容器外部映射到特殊泊坞窗路径(/var/lib/docker/volumes/{FULL_ID})的路径,其中docker inspect container_id可以找到FULL_ID。一个示例是docker run -d -v /data danielvf/myapp:1.0 runapp,它将/data目录外部化为docker卷。

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

此功能的路线图:(尚未记录其存在): https://github.com/dotcloud/docker/wiki/Volumes-&-persistent-data-storage

答案 4 :(得分:0)

命令:

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

以下是它们的演示:

enter image description here