Skip to content

Instantly share code, notes, and snippets.

@caocuong2404
Last active November 17, 2022 07:05
Show Gist options
  • Save caocuong2404/e9666fc8ee9e144c5e16cb8c2bfb66eb to your computer and use it in GitHub Desktop.
Save caocuong2404/e9666fc8ee9e144c5e16cb8c2bfb66eb to your computer and use it in GitHub Desktop.
Backup, restore, or migrate data volumes (https://docs.docker.com/desktop/backup-and-restore/)
# backup files from a docker volume into /tmp/backup.tar.gz
function docker-volume-backup-compressed() {
docker run --rm -v /tmp:/backup --volumes-from "$1" debian:jessie tar -czvf /backup/backup.tar.gz "${@:2}"
}
# restore files from /tmp/backup.tar.gz into a docker volume
function docker-volume-restore-compressed() {
docker run --rm -v /tmp:/backup --volumes-from "$1" debian:jessie tar -xzvf /backup/backup.tar.gz "${@:2}"
echo "Double checking files..."
docker run --rm -v /tmp:/backup --volumes-from "$1" debian:jessie ls -lh "${@:2}"
}
# backup files from a docker volume into /tmp/backup.tar
function docker-volume-backup() {
docker run --rm -v /tmp:/backup --volumes-from "$1" busybox tar -cvf /backup/backup.tar "${@:2}"
}
# restore files from /tmp/backup.tar into a docker volume
function docker-volume-restore() {
docker run --rm -v /tmp:/backup --volumes-from "$1" busybox tar -xvf /backup/backup.tar "${@:2}"
echo "Double checking files..."
docker run --rm -v /tmp:/backup --volumes-from "$1" busybox ls -lh "${@:2}"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment