Копирование данных тома в Docker
Копирование данных тома переносит файлы из одного хранилища в другое через короткий контейнер. Служба не копирует тома сама: нужна копия, которая видит обе точки монтирования сразу.
Подготовим тома box и box2.
В box уже лежит слово
saved в файле, а box2
пока пуст:
docker volume create box
docker volume create box2
docker run --rm -v box:/data alpine sh -c "echo saved > /data/note.txt"
Копирование запускают одноразовым
контейнером на alpine
с двумя томами слева в паре
для флага -v:
docker run --rm -v box:/from -v box2:/to alpine cp -a /from/. /to/
Проверим чтением файла из box2:
в выводе должно остаться слово
saved на месте:
docker run --rm -v box2:/data alpine cat /data/note.txt
Создайте тома src и dst, запишите в src слово moved и перенесите данные в dst тем же приёмом.
Прочитайте файл из dst и убедитесь, что слово moved на месте.