[Docker] データのバックアップ

別のディレクトリにコピーするか、tarコマンドでファイルをまとめて保存するかなどでバックアップできる。

### ボリュームの場所
$ sudo docker volume inspect mysqlvolume
[
{
“CreatedAt”: “2022-03-21T05:36:02Z”,
“Driver”: “local”,
“Labels”: {},
“Mountpoint”: “/var/lib/docker/volumes/mysqlvolume/_data”,
“Name”: “mysqlvolume”,
“Options”: {},
“Scope”: “local”
}
]

### ボリュームバックアップの考え方
適当なコンテナを割り当てて、そのコンテナを使ってバックアップを取る
/tmpなどのディレクトリにバック対象のコンテナをマウントし、tarでバックアップを作成
バックアップ中はコンテナを停止しておくのが望ましい

### ボリュームバックアップの慣例的なコマンド
$ sudo docker run –rm -v mysqlvolume:/src -v “$PWD”:dest busybox tar czvf /dest/backup.tar.gz -C /scr .
$ ls
backup.tar.gz
$ tar tzvf backup.tar.gz

### ボリュームをリストア
$ sudo docker volume rm mysqlvolume
$ sudo docker volume create mysqlvolume
$ $ sudo docker run –rm -v mysqlvolume:/dest -v “$PWD”:/src busybox tar xzf /src/backup.tar.gz -C /dest

なるほど、なかなか凄いな
全然終わる気配がないな