データ永続化設定
コンテナ再構築時データ喪失不可 —— この手順絶対スキップ禁止
血の教訓
喜びに満ちてコンテナイメージアップグレード。再起動後 —— 設定消失。データ消失。全修正がゼロリセット。これは bug ではなく Docker の通常挙動:コンテナは一時的。削除でナッシング。永続化しなきゃ保存しない。
ソリューション
Docker volume mapping でコンテナ内重要ディレクトリをホストマシン物理パスにマップ。コンテナ任意削除・再構築可、マップパスファイル保存なら、データ喪失ゼロ。Docker 最基本・最重要操作、これ以上なし。
永続化 4 ステップで完結
ディレクトリ構造作成
NAS にデータディレクトリを作成。ディレクトリ構造が明確なら、後でバックアップや移行が楽。data、config、logs、memory の 4 つのサブディレクトリに分けるのを推奨。
ボリュームをコンテナにマップ
docker-compose.yml または Docker 管理画面で、ホストマシンのディレクトリをコンテナ内の対応パスにマップ。マップ後、コンテナが書き込んだデータは実際に NAS ディスク上に存在。
定期バックアップを設定
NAS にデータがあっても、RAID は手滑し削除を守れない。シンプルなバックアップスクリプトを書いて、cron で定期実行すれば、もう一つの保険。
復旧プロセスを検証
バックアップだけで試験しない。コンテナ削除して再構築。データ残ってるか、設定有効か、サービス正常起動か確認。本当の問題が発生した時バックアップが壊れてる発見は遅い。
Volume マッピング例
以下はおすすめディレクトリ構造とマッピング方式。Synology、QNAP、Unraid など全 NAS 対応:
services:
自動バックアップスクリプト
スクリプト記述。毎日 1 つのバックアップ自動梱包。最新 7 日分保留。古いのは自動削除:
#!/bin/bash
定時タスク設定
バックアップスクリプト cron に追加、毎日深夜 3 時自動実行:
# crontab を編集
アドバンスドバックアップ方案
データセキュリティ要求が高いなら、高度なバックアップチュートリアル参照、増分バックアップ、暗号化バックアップ、クラウド同期など方案記載: