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

docker

30955 просмотра

5 ответа

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

Автор: Mykola Pavlov Источник Размещён: 06.07.2019 12:36

Ответы (5)


50 плюса

Решение

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

Автор: David Gageot Размещён: 14.06.2014 09:16

7 плюса

AFAIK сейчас это не может быть сделано с чистым докером, но lxc поддерживает это. Я немного поэкспериментировал с docker и подтвердил, что это можно сделать с помощью 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-ps. Было бы неплохо добавить команду docker freeze. Может быть, мне пора научиться идти :)

Автор: odk Размещён: 30.04.2013 01:54

1 плюс

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

Автор: funkotron Размещён: 19.07.2013 11:56

0 плюса

Команды:

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

Вот демонстрация их в действии:

введите описание изображения здесь

Автор: Joel H Размещён: 01.07.2019 09:10
Вопросы из категории :
32x32