From 73ce677b3f6e1a143e7d082f0ee77333b417f5e8 Mon Sep 17 00:00:00 2001 From: Guido Diepen Date: Sun, 1 May 2016 08:18:21 +0200 Subject: [PATCH] Added initial version of docker_clone_volume.sh Convenience script that can help me to easily create a clone of a given data volume. The script is mainly useful if you are using named volumes --- docker_clone_volume.sh | 50 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 docker_clone_volume.sh diff --git a/docker_clone_volume.sh b/docker_clone_volume.sh new file mode 100644 index 0000000..0a0b17f --- /dev/null +++ b/docker_clone_volume.sh @@ -0,0 +1,50 @@ +#!/bin/bash + +#Author: Guido Diepen + +#Convenience script that can help me to easily create a clone of a given +#data volume. The script is mainly useful if you are using named volumes + + +#First check if the user provided all needed arguments +if [ "$1" = "" ] +then + echo "PLease provide a source volume name" + exit +fi + +if [ "$2" = "" ] +then + echo "PLease provide a destination volume name" + exit +fi + + +#Check if the source volume name does exist +docker volume inspect $1 > /dev/null 2>&1 +if [ "$?" != "0" ] +then + echo "The source volume \"$1\" does not exist" + exit +fi + +#Now check if the destinatin volume name does not yet exist +docker volume inspect $2 > /dev/null 2>&1 + +if [ "$?" = "0" ] +then + echo "The destination volume \"$2\" already exists" + exit +fi + + + +echo "Creating destination volume \"$2\"..." +docker volume create --name $2 +echo "Copying data from source volume \"$1\" to destination volume \"$2\"..." +echo docker run --rm \ + -i \ + -t \ + -v $2:/from \ + -v $1:/to \ + alpine ash -c "cd /to ; cp -a /from/* ."