コミュニティソリューション

ZimaOSのDockerアプリのパスを理解する:Plexの設定、メディア、ホストパス、コンテナボリューム

A July 2024 official Zima-Giorgio tutorial explaining Docker container paths and host-side ZimaOS volume mappings through Plex. The core model remains current, while ZimaOS now also supports choosing a global App data location and moving managed application data to another storage space.

ZimaOSで最も重要なDockerストレージの概念は、アプリコンテナ内のパスが、ホストが実際のデータの保存に使用するパスと同じではないということです。Plexには次のように見える場合があります。 /config そして /media一方、ZimaOSはこれらの場所をストレージドライブ上の実際のフォルダーにマッピングします。

2024年のチュートリアルは、概念的には現在も正しいものです。現在のIceWhaleのドキュメントでは、このモデルが拡張されています。ユーザーは「設定」>「アプリ」でグローバルなAppデータの場所を設定し、アプリケーションデータを別のストレージ領域へ移動し、アプリごとのボリュームマッピングを確認し、小容量のシステムドライブから大容量のAppDataを切り離して保存できるようになりました。

ZimaOSホストのAppDataパスをDockerコンテナ内の短いパスにマッピングした図
ホストフォルダーとコンテナフォルダーは、同じマウント済みデータを指していても異なる名前にできます。

コンテナには独自のファイルシステムがあります

Dockerは各アプリをZimaOSホストから隔離します。コンテナ内では、アプリは独自のルートファイルシステムを「/」から認識します。 /その使い捨てレイヤーにのみ書き込まれたファイルは、コンテナを再作成すると消える可能性があります。

そのため、永続データには実際のホストフォルダーへの明示的なボリュームまたはバインドマウントが必要です。

ホストパスとコンテナパスには異なる役割があります

次のようなマッピングです。

/DATA/AppData/plex/config  →  /config
/DATA/Media                →  /media

つまり、

  • 左側は実際のZimaOSホスト上の場所です。
  • 右側はPlexがコンテナ内で認識するパスです。

Plexはコンテナ側のパスを使用するように設定し、バックアップとホストレベルのファイル管理ではホスト側のパスを対象にします。

Plexの「/config」は永続的なアプリケーション状態を保持します

元のチュートリアルでは、Plexの /config AppDataフォルダーに保存することで、ライブラリデータベース、環境設定、メタデータ、関連する状態をコンテナの再起動や再作成後も維持できます。

現在のZimaOSでも同じ永続データの原則が適用されますが、ユーザーがAppデータの場所を変更すると、実際のホストパスは変わる場合があります。

Plexの「/media」は実際のメディアライブラリを指す必要があります

PlexはZimaOS内のすべてのディスクを自動的に認識するわけではありません。ホストのメディアフォルダーをPlexコンテナにマウントし、対応するコンテナ側のパスから選択する必要があります。

ZimaOSのDockerパスチュートリアルで使用されているPlexアプリの例
Plexは、設定データとメディアデータで永続化の要件が明確に異なるため、分かりやすい例です。

アプリ設定でボリュームマッピングを確認・編集できます

Zima-Giorgioのチュートリアルでは、Plexの設定を開いてボリュームパスを確認するよう案内していました。現在のZimaOSでもこのモデルが維持されており、設定の「アプリ」から、より広範なアプリストレージの情報も確認できます。

現在のZimaOSにおけるパスの動作には、ZimaOSの現在のアプリストレージのパスモデルを使用してください。

現在のZimaOSではグローバルなAppデータ保存場所を移動できます

IceWhaleは現在、システムドライブを圧迫するのではなく、Appデータの保存先を実際のストレージ領域に指定することを推奨しています。ZimaOSでは、保存先を変更すると管理対象アプリのデータを移動できます。

これは、次のようなハードコードされた2024年時点のパスが /DATA/AppData/plex/config 現在のすべてのシステムで文字どおり同じパスになるとは限りません。

ホスト側の永続フォルダーをバックアップする

Plexをバックアップする際は、次のデータを保存しているホストフォルダーを保護してください。 /config その他の重要な永続マウントも対象にしてください。使い捨てのコンテナイメージは再度取得できるため、通常、そのイメージをバックアップする価値は低くなります。

データベースについては、ファイルシステムレベルのバックアップを一貫した状態で行う前に、アプリケーションを停止するか、エクスポートする必要があるかを検討してください。

メディアとAppDataは異なるストレージクラスです

Plexの設定データは数GB程度でも、メディアライブラリは数十TBに及ぶ場合があります。これらは別々のストレージ領域に保存し、異なるバックアップポリシーを設定できます。

PlexのAppDataの場所を変更するだけで、メディアライブラリ全体を移動しないでください。

正しいマッピングでも権限が原因で失敗することがあります

Plexがマウントされたパスを認識できるのにファイルを開けない場合、次に確認すべきなのはファイルシステムの所有者と権限です。コンテナ内にパス自体が存在しない場合は、まずボリュームマッピングを修正してください。

Dockerパスに関するFAQ

Plexのライブラリ設定では、ZimaOSのホストパスを使用すべきですか?

いいえ。Plexでは通常、コンテナ側のパス(次のようなパス)を使用します。 /media.

Dockerコンテナを削除すると、マッピングされたAppDataも自動的に削除されますか?

いいえ。永続的なホストフォルダーは、意図的に削除しない限り残ります。

/DATA/AppDataは、常に現在の物理的なAppDataの場所ですか?

必ずしもそうとは限りません。現在のZimaOSでは、管理対象アプリのデータ保存場所を選択して移行できます。