最初に結論
ぶっちゃけ、
[[Docker]] [[Container]] のデータの [[バックアップ]]
と聞くと、 [[コンテナ]] だとか [[イミュータブル]] なんとかだとか、そう言うのを連想して複雑に考えがちと思う (現に僕はそうだった) んですが、基本的には、 [[Docker]] の [[コンテナ]] の [[バックアップ]] の方法論は、
絶対にダウン or データロストしてはならないサーバの [[バックアップ]]
が、そのまま使えるかと思います。
もうちょっと具体的に
- [[Docker Container]] のデータは基本的に色々しないと揮発する訳ですが、この条件そのものは、
[[Redis]] を全部オンメモリで運用してて、かつ [[バックアップ]] も取らなきゃいけない
みたいな状況の条件に近いのではないか、というのが僕の結論です。
つまり、 [[Docker Container]] だからどうだとか、という話に持っていかず、
- 対象となるデータを持つホスト (場合によってはコンテナ) に対し
- マスターを無停止でミラーリング (レプリカを作る等) をして
- そのミラーに対してダンプなりでデータをバックアップする
という、ミッションクリティカルなサーバのデータを保全する手法、と言う手法を、そのまま Docker container に当て嵌めてやれば、まあ、考えかたとしては問題ないよね、っていう、それだけの話ですね。はい。
以上
ちなみに。
僕がこれに気がつけたのはつい最近で、かつ、実際にそれが通用するか、というのは試してないし、そもそも Web サービスを運用しているサーバ運用の実践経験については僕はほぼ無いので、まあ、この考え方で合っているかどうか、ってなるとちょっと怪しい面も有るんですが、基本的には、
絶対に落したりデータ飛ばしてはならないサーバのバックアップ
を想定して作業すれば問題ないんじゃね? というのが今回の結論です。はい。