Как описано в документации Docker по работе с томами, существует концепция так называемых контейнеров только для данных , которые предоставляют том, который может быть смонтирован в несколько других контейнеров, независимо от того, работает ли контейнер только для данных на самом деле или нет.
В общем, звучит потрясающе. Но одного я не понимаю.
Эти тома (которые явно не сопоставляются с папкой на хосте по причинам переносимости, как указано в документации) создаются и управляются Docker в некоторой внутренней папке на хосте ( /var/docker/volumes/…
).
Предположим, я использую такой том, а затем мне нужно перенести его с одного хоста на другой - как мне перенести том? AFAICS имеет уникальный идентификатор - могу ли я просто скопировать том и соответствующий контейнер только для данных на новый хост? Как узнать, какие файлы копировать? Или в Docker встроена поддержка, которую я еще не обнаружил?
docker run --volumes-from <data container> ubuntu tar -cO <volume path> | gzip -c > volume.tgz
это не зависит от деталей реализации томов. И импортируйте данные с tar на вторую машину.