Tool for backing up docker volume / data containers
  • Go 94.6%
  • Dockerfile 5.4%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2016-05-26 18:21:18 +02:00
backup can backup a data volume container directly 2016-05-26 18:21:18 +02:00
.gitignore initial import 2014-03-25 15:35:05 +01:00
docker-backup.go can backup a data volume container directly 2016-05-26 18:21:18 +02:00
Dockerfile Use alpine as base image 2015-05-07 12:40:45 +02:00
README.md Update README 2015-08-12 11:45:17 +01:00

Backup and Restore Docker Volume Containers

This tool gets the volume container of a given container and writes the volume container's json and all volumes found to a tarball. After that, this tool can be used to restore a volume container from that tarball.

Let say you have a container named mysql-data to keep /var/lib/mysql. You start up your mysql server by running:

$ docker run --volumes-from=mysql-data --name mysql-server ...

Backup that data container:

$ docker-backup store mysql-server-backup.tar mysql-server

Restore it on a new system:

$ docker-backup restore mysql-server-backup.tar

For general documentation on how to use volume containers, see: http://docs.docker.io/en/latest/use/working_with_volumes/#creating-and-mounting-a-data-volume-container

For a more complete backup strategy built on top of docker-backup, look at https://github.com/discordianfish/docker-lloyd.

To run docker-backup itself as a Container, you need to bind-mount the Docker socket, Docker's data directory and point docker-backup via the -addr flag to the location of docker.sock within the container:

$ docker run -v /var/run/docker.sock:/docker.sock \
     -v /var/lib/docker/vfs/dir:/var/lib/docker/vfs/dir dckr/docker-backup -addr /docker.sock ...