Скрипты позволяют перенести том Docker с одного хоста на другой
Создаем архив с содержимым тома
#!/bin/bash
#usage: create_volume_backup <cont_name> <vol_name> <src_dir> <tmp_dir>
#example: create_volume_backup wordpress1_app html /var/www/html /root/_/backup
cont_name=$1
vol_name=$2
src_dir=$3
tmp_dir=$4
docker stop ${cont_name}
docker run --rm --volumes-from ${cont_name} -v ${tmp_dir}:/backup ubuntu tar -c -f /backup/${vol_name}.tar -C ${src_dir} .
Распаковываем архив с содержимым тома
#!/bin/bash
#usage: restore_volume_backup <cont_name> <vol_name> <dst_dir> <tmp_dir>
#example: restore_volume_backup wordpress1_app html /var/www/html /root/_/backup .
cont_name=$1
vol_name=$2
dst_dir=$3
tmp_dir=$4
docker stop ${cont_name}
docker run --rm --volumes-from ${cont_name} -v ${tmp_dir}:/backup ubuntu bash -c "rm -R ${dst_dir}/* && tar -x -f /backup/${vol_name}.tar -C ${dst_dir}"