Docker Volume Backup Restore

Use when backing up or restoring Docker volumes.

LoopyLuci Updated 1 repo stars

File contents

Docker Volume Backup & Restore

Backing up and restoring Docker named volumes.

Backup

docker run --rm -v myvolume:/source -v C:\backups:/backup alpine `
    tar czf /backup/myvolume.tar.gz -C /source .

Restore

docker run --rm -v myvolume:/target -v C:\backups:/backup alpine `
    tar xzf /backup/myvolume.tar.gz -C /target

Backup All

$dir = "C:\backups\docker-volumes"
New-Item -ItemType Directory -Path $dir -Force
foreach ($vol in (docker volume ls -q)) {
    docker run --rm -v ${vol}:/source -v ${dir}:/backup alpine `
        tar czf "/backup/${vol}.tar.gz" -C /source .
}

Cloud

docker run --rm -v myvolume:/source alpine tar czf - -C /source . |
    aws s3 cp - s3://bucket/myvolume-$(date +%F).tar.gz

Pitfalls

  • Stop container before backup for consistency
  • Named volumes only — anonymous can't be targeted
  • Databases — use pg_dump/mysqldump, not file-level backup

LoopyLuci/Skills/tree/main/skills/docker-volume-backup-restore commit b249e8fba0

Frequently asked questions

npx skillmds@latest add loopyluci/docker-volume-backup-restore