Подтвердить что ты не робот

Могу ли я приостановить, а затем возобновить контейнер Docker?

Я хотел бы приостановить контейнер Docker и возобновить его после. Как это можно сделать? Под приостановлением я подразумеваю, что он должен сохранять состояние текущего процесса (например, кодирование видео), а затем возобновлять его обратно в любое время.

4b9b3361

Ответ 1

Как Версия 0.12.0, Docker поддерживает команды PAUSE и UNPAUSE для приостановки и возобновления контейнеров с использованием морозильника cgroup.

Ответ 2

AFAIK прямо сейчас не может быть сделано с чистым докером, но lxc поддерживает это. Я немного поиграл с докером и подтвердил, что это можно сделать с помощью lxc-freeze -n <containtr.id> и возобновить операции lxc-unfreeze -n <container.id> Но в v0.2.0 docker ps дает вам только сокращать идентификатор с идентификатором даже с выходом -notrunc и lxc-ls в моей системе пуст (странно, нужно больше узнать об этом, поскольку докер использует простой lxc-start с параметрами, поэтому lxc-ps должен напечатать это). Я нашел полный идентификатор контейнера с lxc-ps. Было бы неплохо добавить команду замораживания докеров. Может быть, мне пора научиться некоторым:)

Ответ 3

Вот недавняя .

Ответ 4

Docker только что выпустил (пока что) недокументированные тома и набор функций хранения данных. tl; dr, если вы используете параметр командной строки -v, вы можете указать путь для отображения за пределами контейнера на специальный путь докера (/var/lib/docker/volumes/{FULL_ID}), где FULL_ID можно найти с помощью docker inspect container_id. Примером является docker run -d -v /data danielvf/myapp:1.0 runapp, который будет экстернализировать каталог /data в объеме докера.

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

Дорожная карта для этой функции: (еще не документирует ее существование): https://github.com/dotcloud/docker/wiki/Volumes-&-persistent-data-storage

Ответ 5

Команды:

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

Вот демо из них в действии:

enter image description here