Могу ли я приостановить / возобновить контейнер docker? - PullRequest
0 голосов
/ 24 января 2020

Я использую docker рабочий стол для windows (Linux режим контейнера), чтобы запустить пакетное задание, включающее расширенные симуляции волновой акустики и предварительные вычисления для разработки игр. На моем AMD 3950x (16 ядер 32 потока) работа занимает около 11 дней. Проблема в том, что я использую вычисления и для другой работы (небольшая студия ie, использующая компьютер для личных дел после рабочего дня).

Поэтому я бы хотел приостановить работу, чтобы использовать компьютер для других дел. Чем возобновить это позже. Это возможно, я на последнем Docker рабочем столе для windows.

Ответы [ 2 ]

1 голос
/ 24 января 2020

Существует команда pause и unpause . Но они только приостанавливают процесс, поэтому они не переживают перезапуск машины.

Возможно, вы хотите что-то постоянное. Для этого у вас есть опция между двумя наборами команд:

save / load

С помощью команды save вы создадите архив tar, содержащий ваше текущее состояние контейнера. С load вы можете снова запустить это состояние. Недостатком является то, что все слои вашего изображения будут сохранены. Поэтому потенциально это может привести к большим архивам.

export / import

В качестве альтернативы вы можете использовать export , который экспортирует первый слой вашего контейнера.

Команда docker export не экспортирует содержимое томов, связанных с контейнером. Если том смонтирован поверх существующего каталога в контейнере, docker export будет экспортировать содержимое основного каталога, а не содержимое тома.

с помощью импорта вы можете создать Контейнер снова.

Преимущество заключается в том, что вы получаете небольшие файлы, и импорт выполняется быстрее, поскольку на вашем компьютере уже могут быть нижележащие слои.


В обоих случаях вы может поделиться полученным файлом с другими машинами и сохранить его в частном хранилище. Пожалуйста, также посмотрите руководство по миграции для дальнейшего вдохновения.

1 голос
/ 24 января 2020

Есть команды docker pause и docker unpause, которые стоит попробовать. Я подозреваю, что перезагрузка не сохранится.

Существует также экспериментальная функция, которую можно включить, которая будет сохраняться на диске: https://docs.docker.com/engine/reference/commandline/checkpoint/.

https://technology.amis.nl/2018/04/08/first-steps-with-docker-checkpoint-to-create-and-restore-snapshots-of-running-containers/ представляется руководством по использованию.

...