Как перенести контейнер докера на другой сервер?

Мне нужно перехать на новый сервер, на страром хосте есть контейнер докера, который нужно перенести на новый. Как это сделать?

Имеем docker контейнер который нужно перенести на другой хост. По сути наша задача сводится с переносу образа на новый хост и запуску контейнера из этого образа.

Смотрим на контейнер

user@host:/# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                           NAMES
262202e83aeb        priv/container      "bash"              2 hours ago         Up 2 hours          80/tcp, 0.0.0.0:443->443/tcp   ACME

Посмотреть какие тома присоединены к контейнеру можно в разделе «Mounts» в выводе команды:

docker inspect %ID_контейнера%

Сохранение образа. На первом месте куда сохранять, на втором что сохранять.

docker save -o /%путь%/image.tar priv/container

Копируем тома(volumes). По умолчанию лежат «/var/lib/docker/volumes/». На первом месте указываем куда копировать, на втором что:

 tar -cvf ./data_vol.tar /var/lib/docker/volumes/data_vol/

Переносим образ и тома на новый хост, можно сделать при помощи «scp». Если порт SSH не стандартный, нужно его указать ключом «-P». Ключ «-P» должен быть на первом месте. Далее указываем что копировать, потом хост куда копировать в формате %имя_пользователя%@%адрес_хоста%:%путь_куда_копировать%. При указании «~» в пути файл скопируется в домашнюю папку пользователя.

scp -P 123 ./image.tar user@123.123.123.2:~

По завершении копирования тома нужно разархивировать и закинуть на место(по умолчанию «/var/lib/docker/volumes/»):

tar -xvf /home/user/data_vol.tar

Кормим докер нашим образом:

docker load -i /home/user/image.tar

После всех этих процедур докер увидит образ и позволит создать из него контейнер.

Источник: https://itbru.ru/index.php/2019/05/30/docker-migrate/

Вы можете задать вопрос по статье специалисту.

Возможность удаленной диагностики сбоев и консультации по восстановлению работоспособности сети.

Помните, что все действия вы выполняете на свой страх и риск — загрузка неверных данных может повлечь за собой крах системы и потерю информации.
Тестирование в тестовой среде никто не отменяет.
Администрация сайта не несет ответственность за ваши действия.
Вся информация на сайте носит исключительно справочный характер и не является публичной офертой, определяемой в Статье 437 Гражданского кодекса Российской Федерации.