データ永続化設定

コンテナ再構築時データ喪失不可 —— この手順絶対スキップ禁止

血の教訓

😱 コンテナアップグレード後データ全消失?

喜びに満ちてコンテナイメージアップグレード。再起動後 —— 設定消失。データ消失。全修正がゼロリセット。これは bug ではなく Docker の通常挙動:コンテナは一時的。削除でナッシング。永続化しなきゃ保存しない。

ソリューション

✅ Docker Volume Mapping 一招で完結

Docker volume mapping でコンテナ内重要ディレクトリをホストマシン物理パスにマップ。コンテナ任意削除・再構築可、マップパスファイル保存なら、データ喪失ゼロ。Docker 最基本・最重要操作、これ以上なし。

永続化 4 ステップで完結

1

ディレクトリ構造作成

NAS にデータディレクトリを作成。ディレクトリ構造が明確なら、後でバックアップや移行が楽。data、config、logs、memory の 4 つのサブディレクトリに分けるのを推奨。

2

ボリュームをコンテナにマップ

docker-compose.yml または Docker 管理画面で、ホストマシンのディレクトリをコンテナ内の対応パスにマップ。マップ後、コンテナが書き込んだデータは実際に NAS ディスク上に存在。

3

定期バックアップを設定

NAS にデータがあっても、RAID は手滑し削除を守れない。シンプルなバックアップスクリプトを書いて、cron で定期実行すれば、もう一つの保険。

4

復旧プロセスを検証

バックアップだけで試験しない。コンテナ削除して再構築。データ残ってるか、設定有効か、サービス正常起動か確認。本当の問題が発生した時バックアップが壊れてる発見は遅い。

Volume マッピング例

以下はおすすめディレクトリ構造とマッピング方式。Synology、QNAP、Unraid など全 NAS 対応:

docker-compose.yml ボリュームマッピング
services:

自動バックアップスクリプト

スクリプト記述。毎日 1 つのバックアップ自動梱包。最新 7 日分保留。古いのは自動削除:

バックアップスクリプト
#!/bin/bash

定時タスク設定

バックアップスクリプト cron に追加、毎日深夜 3 時自動実行:

crontab 定期バックアップ
# crontab を編集
⚠️ RAID はバックアップではありません!RAID はハードディスク障害によるデータ損失から保護しますが、誤削除、ランサムウェア暗号化、NAS マザーボード焼き出し、泥棒に入られたなどの状況から保護できません。真のバックアップ戦略は 3-2-1:3 つのコピー、2 つのメディア、1 つのオフサイト。最低限バックアップファイルをクラウドストレージか別デバイスに同期。

アドバンスドバックアップ方案

データセキュリティ要求が高いなら、高度なバックアップチュートリアル参照、増分バックアップ、暗号化バックアップ、クラウド同期など方案記載:

👉 アドバンスドバックアップと災害復旧

自分でバックアップ管理面倒?MOLILI マネージド方案は自動バックアップとデータ回復機能組み込み。心配ゼロ。 MOLILI を理解 →
このチュートリアルはあなたに役に立った?