Flytta datakällan på värdsidan till SSD:n samtidigt som varje destinationssökväg på containersidan förblir oförändrad.
En säker migrering behandlar den aktuella monteringskartan som ett gränssnittskontrakt. Containrar, databaser och medieappar förväntar sig sökvägar som /config, /data eller /media, oavsett vilken disk som tillhandahåller dem. Arbetsflödet måste stoppa skrivningar, montera SSD:n förutsägbart, kopiera ägarskap och metadata, uppdatera endast källan på värdsidan, verifiera den nya monteringen före uppstart och behålla originaldata tills ett fullständigt återställningstest har godkänts.
Inventera alla aktuella källor och containrarnas destinationer
Exportera Compose-filen eller informationen från containerinspektionen och lista alla bind-monteringar, namngivna volymer, tmpfs-monteringar, databaskataloger, cacheminnen, transkodningssökvägar och medieplatser. Dokumentera värdkällan och containerns destination separat.
En praktisk guide för volymmigrering börjar med att lokalisera de aktuella datafilerna och stoppa containrarna innan de kopieras till en ny diskplats. Den inventeringen förhindrar att konfigurationsdata lämnas kvar på systemdisken.
Markera vilka sökvägar som innehåller auktoritativt tillstånd, återskapningsbar cache och stora mediefiler. Anta inte att en mapp med namnet data innehåller all beständig programdata.
Montera SSD-poolen förutsägbart innan Docker startar
Skapa SSD-filsystemet eller poolen, identifiera den med ett stabilt UUID eller poolnamn och montera den på den slutliga sökvägen på värdsidan. Kontrollera ledigt utrymme, förväntade filsystemsfunktioner och skrivåtkomst efter en omstart.
Att flytta Docker-data till extern lagring kan misslyckas när disken saknas eller monteras på en annan sökväg under uppstarten. Ett aktuellt fall med extern SSD visar hur en flytt av Docker-lagring ändrar beroendet av den avsedda monteringssökvägen.
Konfigurera tjänsteordning eller automonteringsbeteende så att Docker aldrig skapar en tom reservkatalog på systemdisken. Avbryt om SSD:n inte är monterad på exakt den förväntade sökvägen.
Stoppa skrivande processer och kopiera data med bevarade metadata
Stoppa programmet och alla beroenden som kan skriva till dess data, inklusive databaser, indexerare, nedladdare och bakgrundsjobb. För databaser ska du använda en programkonsistent dump eller en ren avstängning innan du kopierar råfiler.
En diskussion om containrar i Synology rekommenderar att en Docker-hanterad volym flyttas till en bind-montering först efter att volymdata har identifierats och innehållet har bevarats på den nya källan för bind-monteringen.
Kopiera rekursivt och bevara ägarskap, behörigheter, tidsstämplar, länkar, ACL:er och utökade attribut där detta stöds. Kör en torr jämförelse eller kontrollera ett urval med kontrollsummor efter kopieringen och innan Compose ändras.
Ändra endast källsökvägen på värdsidan
Behåll destinationen i containern oförändrad. Ändra till exempel /oldpool/app:/config till /ssdpool/app:/config i stället för att lära programmet en ny intern sökväg.
Bind-monteringar exponerar en exakt plats på värden via en stabil sökväg inne i containern. En lagringsöversikt förklarar att denna direkta mappning är användbar när administratörer behöver kontroll över sökvägen på värdsidan.
Genom att bevara destinationen undviker du att bryta sönder programdatabaser, biblioteksreferenser, skript, behörigheter och konfigurationsvärden som lagrar sökvägen på containersidan.
Återställ ägarskap, etiketter och databasens konsistens
Jämför de numeriska UID- och GID-värden som avbildningen förväntar sig med ägarskapet på SSD:n. Återställ även ACL:er, SELinux-etiketter, AppArmor-tillåtelser och monteringsalternativ som krävs för låsning eller minnesmappade filer.
En guide för migrering av Docker-lagring i macOS påpekar att en flytt av Docker-data kräver att hela lagringsavbildningen kopieras och att du sedan bekräftar att körmiljön använder den nya lagringsplatsen. På Linux-baserade NAS-system är motsvarande kontroll att varje konfigurerad källa pekar på den monterade SSD:n.
Starta enbart databasen och granska återställningsloggarna innan du startar beroende appar. Om den rapporterar korruption eller saknade filer ska du stoppa och återgå till originalkopian i stället för att låta programmen initiera en tom databas.
Genomför bytet med en återställningsväg och testa hela arbetsflödet
Starta stacken i beroendeordning och verifiera konfiguration, dataposter i databasen, behörigheter, mediebibliotek, uppladdningar, nedladdningar, uppdateringar och återskapande av containrar. Kontrollera att nya skrivningar hamnar på SSD:n och att systemdisken inte längre växer.
ZimaSpace-artikeln om att en Docker-bind-montering plötsligt blir skrivskyddad beskriver nästa felsökningssteg om den migrerade sökvägen monteras men avvisar skrivningar.
Håll de gamla datafilerna frånkopplade och oförändrade tills säkerhetskopiorna och en andra återskapning av containrarna har lyckats från SSD-sökvägen. Ta bort den gamla källan först efter att en återställningsövning har visat att du kan återställa Compose-filen, monteringarna, databaserna och programtillståndet.
Support och tips
Mer att läsa

Varför återskapar en återställning av en Docker-volym filinnehållet men tar bort utökade attribut?
En felsökning av volymåterställning som omfattar inventering av xattr, alternativ för tar och Rsync, namnrymder, stöd för måldestinationen, behörigheter, etiketter, appmetadata och tester.

Varför behåller en körande container sin gamla minnesgräns efter att Compose-filen har ändrats?
En minnesgränsdiagnos som omfattar aktiva cgroups, omstart kontra återskapande, Compose-fält, hårda och mjuka gränser, överordnade scope, växlingsutrymme och körningsheapar.

Varför ogiltigförklarar en omstart av en omvänd proxy varje session för en självhostad app?
En sessionsförlustdiagnos som omfattar omstartens omfattning, cookie-ägarskap, rotation av hemligheter, cachebaserade sessioner, sticky routing, autentiseringsgatewayer och återställning.

