Rozwiązanie społecznościowe

Zrozumienie ścieżek aplikacji Docker w ZimaOS: konfiguracja Plex, multimedia, ścieżki hosta i woluminy kontenera

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.

Najważniejsza koncepcja dotycząca pamięci masowej Dockera w ZimaOS jest taka, że ścieżka wewnątrz kontenera aplikacji nie jest tą samą ścieżką, której host używa do przechowywania rzeczywistych danych. Plex może widzieć /config oraz /media, podczas gdy ZimaOS mapuje te lokalizacje na rzeczywiste foldery na dysku pamięci masowej.

Samouczek z 2024 roku pozostaje poprawny pod względem koncepcyjnym. Obecna dokumentacja IceWhale rozszerzyła ten model: użytkownicy mogą teraz ustawić globalną lokalizację danych aplikacji w Ustawieniach > Aplikacje, przenieść dane aplikacji do innej przestrzeni dyskowej, sprawdzić mapowania woluminów poszczególnych aplikacji i przechowywać duże ilości danych AppData poza małym dyskiem systemowym.

Diagram przedstawiający ścieżkę AppData na hoście ZimaOS zmapowaną na krótszą ścieżkę wewnątrz kontenera Docker
Folder hosta i folder kontenera mogą mieć różne nazwy, mimo że wskazują te same zamontowane dane.

Kontener ma własny system plików

Docker izoluje każdą aplikację od hosta ZimaOS. Wewnątrz kontenera aplikacja widzi własny główny system plików, zaczynający się od /Pliki zapisane wyłącznie w tej nietrwałej warstwie mogą zniknąć po odtworzeniu kontenera.

Dane trwałe wymagają więc jawnego woluminu lub montowania bind do rzeczywistego folderu na hoście.

Ścieżka hosta i ścieżka kontenera pełnią różne funkcje

Mapowanie takie jak:

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

oznacza:

  • lewa strona to rzeczywista lokalizacja na hoście ZimaOS;
  • prawa strona to ścieżka widoczna dla Plexa wewnątrz kontenera.

Plex powinien być skonfigurowany tak, aby korzystał ze ścieżki po stronie kontenera, natomiast kopie zapasowe i zarządzanie plikami na poziomie hosta powinny korzystać ze ścieżki po stronie hosta.

/config w Plex przechowuje trwały stan aplikacji

W źródłowym samouczku zmapowano /config do folderu AppData, aby baza danych biblioteki, preferencje, metadane i powiązany stan zostały zachowane po ponownym uruchomieniu lub odtworzeniu kontenera.

Obecny ZimaOS nadal korzysta z tej samej zasady przechowywania danych trwałych, ale rzeczywista ścieżka hosta może się zmienić, jeśli użytkownik zmieni lokalizację danych aplikacji.

/media w Plex powinno wskazywać rzeczywistą bibliotekę multimediów

Plex nie widzi automatycznie każdego dysku w ZimaOS. Folder multimediów na hoście musi zostać zamontowany w kontenerze Plex, a następnie wybrany za pomocą odpowiedniej ścieżki po stronie kontenera.

Przykład aplikacji Plex użyty w samouczku dotyczącym ścieżki Docker w ZimaOS
Plex jest dobrym przykładem, ponieważ jego konfiguracja i dane multimedialne mają wyraźnie różne wymagania dotyczące trwałości.

Ustawienia aplikacji pokazują i umożliwiają edycję mapowań woluminów

Samouczek Zima-Giorgio instruował użytkowników, aby otworzyli Ustawienia Plexa i sprawdzili ścieżki woluminów. Obecny ZimaOS zachowuje ten model i zapewnia również szerszy wgląd w pamięć aplikacji przez Ustawienia > Aplikacje.

Użyj obecnego modelu ścieżek pamięci aplikacji w ZimaOS, aby uzyskać informacje o bieżącym sposobie obsługi ścieżek.

Obecny ZimaOS pozwala przenieść globalną lokalizację danych aplikacji

IceWhale zaleca obecnie wskazanie rzeczywistej przestrzeni dyskowej jako lokalizacji danych aplikacji zamiast zapełniania dysku systemowego. ZimaOS może przenieść zarządzane dane aplikacji po zmianie tej lokalizacji.

Oznacza to, że zakodowana na stałe ścieżka z 2024 roku, taka jak /DATA/AppData/plex/config może nie być dosłowną ścieżką w każdym obecnym systemie.

Twórz kopie zapasowe trwałych folderów po stronie hosta

Podczas tworzenia kopii zapasowej Plexa zabezpiecz folder hosta, w którym przechowywane są /config oraz wszelkie inne ważne trwałe punkty montowania. Tworzenie kopii zapasowej ulotnego obrazu kontenera jest zwykle mniej wartościowe, ponieważ obraz można ponownie pobrać.

W przypadku baz danych zastanów się, czy przed wykonaniem kopii zapasowej na poziomie systemu plików aplikacji nie trzeba zatrzymać lub spójnie wyeksportować.

Media i AppData to różne klasy pamięci masowej

Konfiguracja Plexa może zajmować zaledwie kilka gigabajtów, podczas gdy biblioteka multimediów może mieć dziesiątki terabajtów. Mogą znajdować się na różnych przestrzeniach dyskowych i mieć różne zasady tworzenia kopii zapasowych.

Nie przenoś całej biblioteki multimediów tylko dlatego, że zmieniasz lokalizację AppData Plexa.

Prawidłowe mapowanie nadal może zawieść z powodu uprawnień

Jeśli Plex widzi zamontowaną ścieżkę, ale nie może otworzyć plików, następną kwestią są prawa własności i uprawnienia systemu plików. Jeśli ścieżka w ogóle nie istnieje wewnątrz kontenera, najpierw napraw mapowanie woluminu.

FAQ dotyczące ścieżek Docker

Czy Plex powinien używać ścieżki hosta ZimaOS w ustawieniach biblioteki?

Nie. Plex powinien zwykle używać ścieżki po stronie kontenera, takiej jak /media.

Czy usunięcie kontenera Docker automatycznie usuwa przypisane dane AppData?

Nie. Trwałe foldery hosta pozostają, chyba że zostaną celowo usunięte.

Czy /DATA/AppData zawsze jest bieżącą fizyczną lokalizacją AppData?

Niekoniecznie. Obecny ZimaOS pozwala użytkownikom wybrać lokalizację zarządzanych danych aplikacji i ją zmienić.