DockerのVolumeをうまいことバックアップしたい。
今、ostatusサーバーでは、Dockerを使って、PostgreSQLとPleromaを動かしているわけだけど、 これをうまくバックアップ取りたい。
探したら、tarで固めるのが簡単のようだ。専用のコンテナをみつけた。
手順としては、docker pause mycontainer
でコンテナを一時停止して、
docker run -v myvolume:/volume -v `pwd`:/backup --rm loomchild/volume-backup backup mybackup
って感じでバックアップをして、
docker resume mycontainer
で再開してる。
一旦シャットダウンした方が確実にバックアップできるだろうけど、
それだと再開までの時間が長くなりそうだから、とりあえずpauseで。
全く止めない場合、そのプログラムがファイルをmvした時に、 どちらもバックアップされない可能があるはず。
本当は、zfsみたいなスナップショットを取れるファイルシステムを使えればいいんだけど、 dockerで実現する方法がわからなかった。