Code Monkey home page Code Monkey logo

docker-backup's Introduction

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 ...

Build

go get -u github.com/golang/dep/cmd/dep
dep ensure
go build

docker-backup's People

Contributors

akihiro avatar amtrack avatar calmh avatar discordianfish avatar jangaraj avatar kagux avatar xbglowx avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

docker-backup's Issues

undefined: runconfig.Config

Hi,

I tried to build docker-backup by:
go install github.com/discordianfish/docker-backup
and
docker build .

Both failed with error:

evgen@vps257621:~$ go install github.com/discordianfish/docker-backup
# github.com/discordianfish/docker-backup/backup
go/src/github.com/discordianfish/docker-backup/backup/backup.go:24: undefined: runconfig.Config
go/src/github.com/discordianfish/docker-backup/backup/backup.go:25: undefined: runconfig.HostConfig

installation docs

hi, is there any info on how to compile/install it?
I am on ubuntu.

thanks, dan

Problem running docker-backup when docker daemon runs in host mode

Hi,

I'm currently trying to run a volume backup with docker-backup on my docker host. The docker daemon runs in host mode meaning it accepts remote connections on a custom tcp port (-H tcp://0.0.0.0:30000) but the standard option via unix file is also available (-H unix:// ).

When i try to run the docker-backup with the the following options

docker-backup --addr localhost:30000 --proto tcp store /path/to/my/archive.tar.gz mycontainer

or

docker-backup --addr /var/run/docker.sock --proto unix store /path/to/my/archive.tar.gz mycontainer

i get the error message

Storing mycontainer's volume container as /path/to/my/archive.tar.gz
Couldn't find data container

Am i missing something? Any help would be appreciated.

Thanks

Michael

No license,

Hey, thank you so much for contributing your code. Is it possible that you publish your code under a specific license. Otherwise, it is unusable for someone who lives in a country with strict law. :D

Depends on github.com/docker-infra/docker-backup/backup that doesn't actually exist

This somewhat cryptic error:

jb@syno:~ $ go get github.com/discordianfish/docker-backup
# cd .; git clone https://github.com/docker-infra/docker-backup /Users/jb/src/github.com/docker-infra/docker-backup
Cloning into '/Users/jb/src/github.com/docker-infra/docker-backup'...
fatal: could not read Username for 'https://github.com': terminal prompts disabled
package github.com/docker-infra/docker-backup/backup: exit status 128

Is caused by github.com/docker-infra/docker-backup being a 404.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.