開発や運用時にコンテナを利用するのも当たり前になってきています。そんな中、誤ってコンテナを削除してしまったり、ストレージの障害でデータをロストするような問題も出てきます。そんな時には何はともあれバックアップが大事です。 今回紹介するbackerはコンテナ専用のバックアップソフトウェアになります。利用用途は限られそうですが、便利なソフトウェアです。

backerの使い方

基本的には full オプションですべてのコンテナをバックアップできます。

$ backer full
backup for container: devcle_api_1 started

lsでバックアップしているコンテナを確認できます。

$ backer ls
there are 2 available backups:
devcle_api_1 [2 snapshots] 
	20.11.2018_15.27.54	[20.3M]
	20.11.2018_15.28.21	[20.3M]
devcle_mongo_1 [2 snapshots] 
	20.11.2018_15.28.00	[12.4M]
	20.11.2018_15.28.25	[12.4M]

そしてリストアできます。リストアは元々のディレクトリに展開されます。

$ backer restore devcle_api_1 20.11.2018_15.28.21
trying to restore revision 20.11.2018_15.28.21 for container devcle_api_1
container successfully restored c3523589deee46c799124bb10b6164895729e195dc937e8cf7c6ddea9456db84
restored /path/to/.DS_Store
restored /path/to/.node-version
  :

backerはローカルのファイルもバックアップして、さらに復元してくれます。ある時点では存在していて、後で消してしまったファイルなども復旧してくれるので便利です。万一の際に備え、大事なバックアップを取っておきましょう。

backerはGo製のオープンソース・ソフトウェア(GPL v3)です。

askm3/backer: backup utility for your running docker containers