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

我想暂停Docker容器并在一段时间后恢复。 如何做到这一点? 暂停我的意思是它应该保存正在进行的过程(如video编码)的状态,然后在任何时候恢复它。

从版本0.12.0开始 ,Docker支持PAUSEUNPAUSE命令来使用cgroup冷冻机暂停和恢复容器。

AFAIK现在不能用纯docker做,但lxc支持。 我已经玩了一下泊坞窗,并确认这可以用lxc-freeze -n <containtr.id>来完成,并恢复操作lxc-unfreeze -n <container.id>但是在v0.2.0中,docker ps会给你只是缩短了包含-notrunc和lxc-ls的输出在我的系统上是空的(奇怪,需要更多的了解它,因为docker使用普通的lxc-start与params,所以lxc-ps应该打印这个)。 我用lxc-psfind完整的容器id。 这将是很好的添加docker冻结命令。 也许是时候让我学习一下:)

这是最近对Checkpoint / Restore In Userspace(CRIU)+ Docker进行实验性整合的最新套路 。

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

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

这个function的路线图:(还没有logging它的存在): https : //github.com/dotcloud/docker/wiki/Volumes-&-persistent-data-storage