Ja, één container kan onafhankelijk worden hersteld wanneer de configuratie, persistente gegevens en afhankelijkheidsgrens duidelijk van de rest van de stack zijn gescheiden.
Op een NAS voor thuisgebruik is de zichtbare container meestal vervangbaar, maar de app-status kan verspreid zijn over bind-mounts, benoemde volumes, een afzonderlijke database, geheimen, proxyroutes en gedeelde netwerken. Een veilige herstelactie voor één service betekent daarom niet dat je één container-ID terugplaatst; het betekent dat je de betreffende service bevriest, alleen de eigen status herstelt, deze opnieuw aanmaakt op basis van een bekende definitie en controleert of gedeelde afhankelijkheden en gezonde aangrenzende containers ongewijzigd blijven.
Bepaal de hersteleenheid voordat je iets stopt
Identificeer de exacte service die is uitgevallen en vermeld elk object dat deze beheert: de naam van de Compose-service, image-tag of -digest, het omgevingsbestand, geheimen, bind-mounts, benoemde volumes, gepubliceerde poorten, netwerkaliassen, geplande taken en reverse-proxylabels.
Handleidingen voor het herstellen van Docker-volumes scheiden de container-runtime van persistente opslag, omdat het gegevensvolume onafhankelijk kan worden geback-upt en hersteld. Een praktische uitleg laat een afzonderlijk herstel van container en volume zien, in plaats van de actieve container als het enige herstelobject te beschouwen.
Als de app naar een gedeelde database of een gedeeld volume schrijft, omvat de hersteleenheid die gedeelde afhankelijkheid en kan deze mogelijk niet meer veilig worden geïsoleerd. Stop voordat je iets overschrijft, totdat het eigenaarschap ondubbelzinnig is vastgesteld.
Leg de gezonde stack en de status van de uitgevallen service vast
Exporteer of bewaar het huidige Compose-bestand, de opgeloste omgeving, image-digests, mountlijst, netwerkdeelname, gezondheidsstatus en recente logboeken. Leg vast welke aangrenzende services gezond zijn, zodat het herstel een duidelijke impactgrens heeft.
Met een Compose-bewerking op serviceniveau kun je één benoemde service selecteren in plaats van alles opnieuw te starten. De workflow voor één service van Linux Handbook onderscheidt één Compose-service van acties voor de hele stack, maar vermeldt ook dat configuratiewijzigingen opnieuw aanmaken vereisen in plaats van alleen opnieuw starten.
Schakel automatische updates en herstartlussen alleen voor de uitgevallen service uit. Laat databases en gedeelde infrastructuur actief, tenzij hun consistentie een gecoördineerde stop vereist.
Herstel gegevens eerst naar een geïsoleerde locatie
Herstel de geselecteerde back-up naar een tijdelijke map of een nieuw volume, in plaats van rechtstreeks over het actieve pad heen. Vergelijk het aantal bestanden, eigenaarschap, tijdstempels, metagegevens van de datadump en de applicatieversie met de beschadigde status.
Een project voor volumeback-ups beschrijft het gebruik van een tijdelijke eenmalige container om een doelvolume te mounten en opnieuw te vullen. Hiermee ontstaat een geïsoleerd pad voor volum herstel voordat de productieservice erin gaat schrijven.
Gebruik voor databases waar mogelijk een applicatiebewuste dump- of herstelmethode. Een kopie van het bestandssysteem van een actieve database kan hooguit crashconsistent zijn en kan mislukken nadat de oude container is verwijderd.
Controleer de geïsoleerde kopie voordat je de mounts omschakelt. Als de back-up niet kan worden gelezen of het schema niet overeenkomt met de beoogde image, bewaar dan de huidige status en kies een ander herstelpunt.
Maak alleen de uitgevallen service opnieuw aan met de oorspronkelijke identiteit
Maak de benoemde service opnieuw aan vanuit de opgeslagen Compose-definitie, met behoud van dezelfde projectnaam, externe netwerken, servicealiassen, poorten, geheimen, UID/GID-koppeling en gecontroleerde persistente paden.
Toegang tot mounts kan ook na een correct gegevensherstel mislukken wanneer het eigenaarschap of de beveiligingslabels niet langer overeenkomen met de runtimegebruiker. Een containergeval op Rocky Linux werd opgelost door het eigenaarschap en de beveiligingscontext te controleren, in plaats van de gegevens opnieuw te kopiëren.
Start de service zonder volumes te verwijderen of opdrachten voor het opschonen van de hele stack uit te voeren. Controleer de effectieve mounts voordat je migraties, scans of achtergrondtaken toestaat om de herstelde gegevens te wijzigen.
Maak opnieuw verbinding met afhankelijkheden zonder ze te herstellen
Test DNS-resolutie en TCP-toegang vanuit de herstelde container naar de database, cache, identiteitsprovider, objectopslag en het proxynetwerk. Gebruik dezelfde servicenamen en referenties als in de herstelde configuratie.
Als een gedeelde afhankelijkheid gezond is gebleven, herstel of vervang deze dan niet alleen omdat de applicatie geen verbinding kan maken. Een ontbrekende netwerkalias, een geroteerd geheim, een niet-overeenkomend schema of een onjuiste databasenaam kan een goede afhankelijkheid onbeschikbaar laten lijken.
Voer migraties alleen uit wanneer de herstelde app-versie en de databaseback-up deze vereisen. Maak vóór elke onomkeerbare migratie een back-up van de afhankelijkheid en stop als de app een lege database probeert te initialiseren.
Valideer de grens van één service voordat je verkeer terugstuurt
Test het inloggen, lezen, schrijven, uploaden, geplande taken, API-aanroepen, prox ytoegang en één gecontroleerde herstart. Vergelijk de aantallen herstarts van aangrenzende containers, logboeken, poorten en controlesommen van gegevens met de vastlegging van vóór het herstel.
De ZimaSpace-handleiding over het koppelen van persistente containerstatus hanteert hetzelfde herstelprincipe: herstel de eigenaar van de status, niet een veronderstelde containershell.
Het herstel is pas voltooid wanneer de herstelde service de beoogde gegevens en afhankelijkheden gebruikt, gezonde stackleden onaangeroerd zijn gebleven en een nieuwe aanmaak hetzelfde resultaat oplevert. Als gedeelde status niet kan worden geïsoleerd, schaal dan op naar een gecoördineerd herstel van de hele stack in plaats van een gedeeltelijke terugdraaiing te forceren.
Ondersteuning & Tips
Meer om te lezen

Kan Plex een GPU delen met een andere Docker-container?
Plex en een andere container kunnen vaak dezelfde GPU gebruiken, maar je moet de driverondersteuning, apparaattoewijzing, belasting van de video-engine, het geheugengebruik en het...

Hoe je kunt bepalen of een Plex-fout door de client of de server wordt veroorzaakt
Reproduceer hetzelfde item op een andere client, vergelijk het sessiepad en verzamel pas serverbewijs nadat de scope heeft uitgewezen waar de fout daadwerkelijk zit.

Plex-cache en tijdelijke opslag voor transcodering configureren
Bescherm de permanente Plex-status door tijdelijke transcodebestanden op geschikte lokale opslag te plaatsen en controleer vervolgens het opruimen, de beschikbare ruimte en het gedrag...

