Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/discordianfish/docker-backup
Tool for backing up docker volume / data containers
https://github.com/discordianfish/docker-backup
Last synced: 15 days ago
JSON representation
Tool for backing up docker volume / data containers
- Host: GitHub
- URL: https://github.com/discordianfish/docker-backup
- Owner: discordianfish
- License: apache-2.0
- Fork: true (wyaeld/docker-backup)
- Created: 2014-11-10T23:44:44.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2019-07-09T14:57:12.000Z (over 5 years ago)
- Last Synced: 2024-08-01T03:22:33.826Z (3 months ago)
- Language: Go
- Size: 29.3 KB
- Stars: 340
- Watchers: 10
- Forks: 51
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- stars - discordianfish/docker-backup
README
# Backup and Restore Docker Volume Containers
This tool gets the [volume container](http://docs.docker.io/en/latest/use/working_with_volumes/#creating-and-mounting-a-data-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-containerFor 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 ...## Build
```
go get -u github.com/golang/dep/cmd/dep
dep ensure
go build
```