Docker. Перенос образа на другой хост.
Имеем 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После всех этих процедур докер увидит образ и позволит создать из него контейнер.