Communityoplossing

Begrijp de Docker-app-paden in ZimaOS: Plex-configuratie, media, hostpaden en containervolumes

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.

Het belangrijkste Docker-opslagconcept in ZimaOS is dat een pad in een appcontainer niet hetzelfde pad is dat de host gebruikt om de daadwerkelijke gegevens op te slaan. Plex kan bijvoorbeeld /config en /media, terwijl ZimaOS die locaties aan echte mappen op een opslagstation koppelt.

De tutorial uit 2024 blijft conceptueel correct. De huidige documentatie van IceWhale heeft het model uitgebreid: gebruikers kunnen nu de algemene locatie van appgegevens instellen via Instellingen > Apps, applicatiegegevens naar een andere opslagruimte verplaatsen, volumekoppelingen per app bekijken en grote hoeveelheden AppData buiten de kleine systeemschijf houden.

Diagram waarop een ZimaOS-hostpad voor AppData wordt gekoppeld aan een korter pad in een Docker-container
De map op de host en de map in de container kunnen verschillende namen hebben, terwijl ze naar dezelfde gekoppelde gegevens verwijzen.

Een container heeft zijn eigen bestandssysteem

Docker isoleert elke app van de ZimaOS-host. Binnen de container ziet een app zijn eigen rootbestandssysteem, dat begint bij /Bestanden die alleen in die tijdelijke laag worden geschreven, kunnen verdwijnen wanneer de container opnieuw wordt aangemaakt.

Persistente gegevens vereisen daarom een expliciet volume of een bind-mount naar een echte map op de host.

Het hostpad en het containerpad hebben verschillende functies

Een koppeling zoals:

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

betekent:

  • de linkerkant is de daadwerkelijke locatie op de ZimaOS-host;
  • de rechterkant is wat Plex binnen de container ziet.

Plex moet worden geconfigureerd om het pad aan de containerzijde te gebruiken, terwijl back-ups en bestandsbeheer op hostniveau gericht zijn op het pad aan de hostzijde.

Plex /config bevat persistente applicatiestatus

In de oorspronkelijke tutorial werd het Plex-pad /config naar een AppData-map, zodat de bibliotheekdatabase, voorkeuren, metadata en gerelateerde status behouden blijven na het opnieuw starten of opnieuw aanmaken van de container.

Het huidige ZimaOS gebruikt nog steeds hetzelfde principe voor persistente gegevens, maar het daadwerkelijke hostpad kan veranderen als de gebruiker de locatie van de appgegevens wijzigt.

Plex /media moet naar de echte mediabibliotheek verwijzen

Plex ziet niet automatisch elke schijf in ZimaOS. Er moet een mediamap op de host in de Plex-container worden gekoppeld; vervolgens selecteer je deze via het overeenkomstige pad aan de containerzijde.

Voorbeeld van de Plex-app in de tutorial over de Docker-route van ZimaOS
Plex is een nuttig voorbeeld, omdat de configuratie en mediagegevens duidelijk verschillende persistentiebehoeften hebben.

App-instellingen tonen en bewerken de volumetoewijzingen

In de tutorial van Zima-Giorgio werd gebruikers verteld de Plex-instellingen te openen en de volumepaden te controleren. De huidige ZimaOS behoudt dit model en biedt via Instellingen > Apps ook een breder overzicht van de appopslag.

Gebruik het huidige padmodel voor appopslag in ZimaOS om het padgedrag van vandaag te begrijpen.

Met de huidige ZimaOS kun je de algemene locatie van appgegevens verplaatsen

IceWhale raadt nu aan om de locatie van appgegevens naar een echte opslagruimte te laten verwijzen in plaats van de systeemschijf te vullen. ZimaOS kan beheerde appgegevens verplaatsen wanneer die locatie wordt gewijzigd.

Dit betekent dat een hardgecodeerd pad uit 2024, zoals /DATA/AppData/plex/config is mogelijk niet op elk huidig systeem het letterlijke pad.

Maak een back-up van de persistente mappen aan de hostzijde

Bescherm bij het maken van een back-up van Plex de hostmap waarin /config en alle andere belangrijke persistente koppelingen. Een back-up van de wegwerpbare containerimage is meestal minder waardevol, omdat de image opnieuw kan worden opgehaald.

Controleer bij databases of de toepassing moet worden gestopt of consistent moet worden geëxporteerd voordat je een back-up op bestandsniveau maakt.

Media en AppData zijn verschillende opslagklassen

De Plex-configuratie kan slechts enkele gigabytes groot zijn, terwijl een mediabibliotheek tientallen terabytes kan beslaan. Ze kunnen op verschillende opslagruimtes staan en een verschillend back-upbeleid hebben.

Verplaats niet de hele mediabibliotheek alleen omdat je de AppData-locatie van Plex wijzigt.

Een correcte toewijzing kan nog steeds mislukken door toegangsrechten

Als Plex het gekoppelde pad kan zien maar bestanden niet kan openen, is de volgende controlelaag het eigenaarschap en de toegangsrechten van het bestandssysteem. Als het pad überhaupt niet in de container bestaat, moet je eerst de volumetoewijzing herstellen.

Veelgestelde vragen over Docker-paden

Moet Plex het hostpad van ZimaOS gebruiken in de bibliotheekinstellingen?

Nee. Plex zou normaal gesproken het pad aan de containerzijde moeten gebruiken, zoals /media.

Worden toegewezen AppData-gegevens automatisch verwijderd wanneer je een Docker-container verwijdert?

Nee. Persistente hostmappen blijven bestaan, tenzij ze bewust worden verwijderd.

Is /DATA/AppData altijd de huidige fysieke locatie van AppData?

Niet per se. Met de huidige ZimaOS kunnen gebruikers de locatie van beheerde appgegevens kiezen en migreren.