Data Volume Containerのバックアップを行うDockerコンテナイメージです。
- Dava Volume Containerが提供するVolume(*1)をtarボールにバックアップする
- リストアしやすいように、リストア用のスクリプトを提供する
(*1) ... docker inspect で参照できるやつ。
$ docker inspect -f "{{ .Config.Volumes }}" DVC
map[/hogehoge:{}]
$ docker run --rm --volumes-from バックアップするDVC -v $(pwd):/backup osuo/docker-backup backup バックアップファイル名
もしくは上記の処理をラップしたバックアップスクリプトを実行します。(wapperディレクトリにあります)
$ ./wrapper/backup.sh バックアップするDVC バックアップファイル
カレントディレクトリにバックアップファイルとリストア用のスクリプトが生成されます。
$ docker inspect -f "{{ .Config.Volumes }}" work-dvc
map[/hogehoge:{}]
$ ./wrapper/backup.sh work-dvc hoge.tgz
backup...
volumes = /hogehoge
file = /backup/hoge.tgz
create restore script ... /backup/hoge_restore.sh
リストアする環境に移動・接続するなどし、 カレントディレクトリにバックアップ処理で生成された、 バックアップファイルとリストア用スクリプトを用意します。 それらのファイルがあるディレクトリに移動して、リストアスクリプトを実行します。
$ ./リストアスクリプト 生成するDVC
$ docker inspect -f "{{ .Config.Volumes }}" work-hoge
rror: No such image or container: work-hoge
$ ./hoge_restore.sh work-hoge
restore...
docker run -v /hogehoge --name work-hoge busybox true
docker run --rm --volumes-from work-hoge -v /Users/hagi/backup:/backup osuo/docker-backup restore hoge.tgz