Skip to content

Instantly share code, notes, and snippets.

@wheelq
Created March 26, 2020 12:54
Show Gist options
  • Save wheelq/3f538752932f7a5da482232789c8c8e3 to your computer and use it in GitHub Desktop.
Save wheelq/3f538752932f7a5da482232789c8c8e3 to your computer and use it in GitHub Desktop.
Docker copy from/to volumes. Found on the internets
#!/bin/bash
SOURCE=$1
DEST=$2
SOURCE_ARR=(${SOURCE//:/ })
DEST_ARR=(${DEST//:/ })
if [[ ${#SOURCE_ARR[@]} -eq 2 && ${#DEST_ARR[@]} -eq 1 ]]; then
VOL=${SOURCE_ARR[0]}
VOL_PATH=${SOURCE_ARR[1]}
HOST_PATH=${DEST_ARR[0]}
docker container create --name docker_volume_cp -v $VOL:/volume hello-world
CMD="docker cp docker_volume_cp:/volume/$VOL_PATH $HOST_PATH"
#echo "$CMD"
$CMD
docker rm docker_volume_cp
elif [[ ${#SOURCE_ARR[@]} -eq 1 && ${#DEST_ARR[@]} -eq 2 ]]; then
VOL=${DEST_ARR[0]}
VOL_PATH=${DEST_ARR[1]}
HOST_PATH=${SOURCE_ARR[0]}
docker container create --name docker_volume_cp -v $VOL:/volume hello-world
CMD="docker cp $HOST_PATH docker_volume_cp:/volume/$VOL_PATH"
#echo "$CMD"
$CMD
docker rm docker_volume_cp
else
echo "Usage:"
echo " volume --> host: $0 VOLUME:VOL_PATH HOST_PATH"
echo " host --> volume: $0 HOST_PATH VOLUME:VOL_PATH"
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment