Skip to main content

How to Backup and Restore Docker Volumes

Purpose

Backup and restore Docker volumes to protect persistent container data or migrate storage between servers.


1. Backup a Docker Volume

Use tar to archive a Docker volume:

docker run --rm \
  -v my_volume:/volume \
  -v $(pwd):/backup \
  alpine \
  tar czf /backup/volume-backup.tar.gz -C /volume . 
  • my_volume: Name of the Docker volume.
  • $(pwd): Current directory where the backup will be saved.
  • volume-backup.tar.gz: Output backup file.

2. Restore a Docker Volume

Use tar to extract the backup:

docker volume create my_volume
docker run --rm \
  -v my_volume:/volume \
  -v $(pwd):/backup \
  alpine \
  sh -c "cd /volume && tar xzf /backup/volume-backup.tar.gz"
  • Ensure you restore into a clean, newly created volume to avoid conflicts.

✅ Summary

  • Always backup volumes before upgrading or moving containers.
  • Use lightweight images like alpine to create archives easily.

🛠️ Useful Commands

  • List Docker volumes: docker volume ls
  • Inspect a volume: docker volume inspect my_volume