LXC jämfört med Docker på Proxmox för appuppdateringar och återställningar

Eva Wong är teknisk skribent och händig hemmabyggare på ZimaSpace. Som tekniknörd sedan barnsben med ett brinnande intresse för hemlabb och programvara med öppen källkodspecialiserar hon sig på att göra komplexa tekniska koncept begripliga genom praktiska, praktiska guider. Eva tycker att självhosting ska vara roligt, inte avskräckande. Genom sina handledningar hjälper hon communityn att göra hårdvaruinstallationer mindre mystiska, från att bygga sin första NAS till att bemästra Docker-containrar.

Docker är vanligtvis enklare för återställning av appversioner eftersom kod och distributionsdefinitioner kan versionslåsas oberoende av varandra. LXC är enklare när hela containern är en apparat och det är acceptabelt att återställa på gästenivå.

Jämförelsen förändras när beständiga data migreras. En Proxmox-ögonblicksbild kan återställa ett filsystemtillstånd, medan en Compose-återställning kan återskapa tidigare containrar, men ingetdera garanterar att en databas, uppladdade filer, hemligheter och externa monteringar återställs till samma konsekventa tidpunkt. Välj den enhet vars tillstånd du kan säkerhetskopiera, validera och återställa tillsammans.

Välj återställningsenhet före distributionsformatet

En direkt LXC-installation behandlar Linux-användarmiljön, paket, tjänstefiler och lokal appdata som en enda gäst. Det är praktiskt när en container kör en app och få beroenden finns utanför den.

Docker behandlar avbildningen och Compose-definitionen som utbytbara distributionsindata, medan volymer, bind-monteringar, hemligheter och databaser innehåller beständigt tillstånd. Den här åtskillnaden gör återställning av kod exakt endast när alla sökvägar till tillstånd är kända.

Välj LXC när det är acceptabelt att återställa hela gästen. Välj Docker när flera appar delar en Docker-värd eller när en återställning av en enskild version inte får rulla tillbaka orelaterade tjänster.

Uppdateringens omfattning gynnar Docker tills data ändras

En Docker-uppdatering kan låsa en ny avbildning till en viss version, återskapa en tjänst, köra hälsokontroller och återgå till den föregående taggen. Den här lilla kodenheten är värdefull för täta lanseringar och deklarativa stackar.

En fristående arbetsgång för Compose-uppdateringar rekommenderar versionslåsning, verifierade säkerhetskopior, kontrollerade hämtningar, hälsokontroller och en återställningsplan. Det viktiga med den kontrollerade sekvensen för containeruppdatering är att ögonblicksbilder bara utgör ett kortvarigt skyddsnät, inte en fristående återställningskopia.

Fördelen upphör när en ny container utför en irreversibel schemamigrering. Att återställa den gamla avbildningen utan att återställa kompatibla data kan förvärra felet, så kombinera återställning av en tidigare version med en testad dump eller en kopia av en vilande volym.

Återställning av hela gästen passar bäst för en LXC med en enda app

En ögonblicksbild av LXC före uppdatering fångar paketfiler, tjänstekonfiguration och data som finns i containern på samma gång. För en gäst med ett enda syfte kan detta vara det snabbaste sättet att återställa efter ett misslyckat paket eller en konfigurationsändring.

Ett praktiskt arbetsflöde för ögonblicksbilder i Proxmox LXC skiljer mellan snabba återställningspunkter och fullständiga säkerhetskopior och visar hur en container kan klonas för testning. Arbetsflödet för ögonblicksbilder och kloning fungerar bäst när allt viktigt tillstånd finns i gästen.

LXC blir mindre tydligt när appdata finns på externa bindmonteringar, i en NAS-databas eller på delad lagring som inte ingår i ögonblicksbilden. Gästen kan återställas till ett tidigare tillstånd medan dess data förblir nyare.

Single board computer zimaboard2

Validera kod och data som ett gemensamt återställningsavtal

Före båda typerna av uppdatering dokumenterar du appens aktuella version, konfigurationsrevision, dataschema, monteringslista och säkerhetskopians tidsstämpel. Efter uppdateringen testar du inloggning, en läsning, en skrivning, bakgrundsjobb, proxyomdirigering och att säkerhetskopieringen slutförs.

Återställ till en klon eller alternativ sökväg i stället för att skriva över den enda fungerande kopian. För Docker kombinerar du den gamla definitionen med återställda data. För LXC återställer du gästen och återansluter endast lagringstillståndet från samma återställningspunkt.

Jämförelsen av gränserna mellan LXC och VM för Docker på ZimaSpace är användbar när åtkomst till enheter eller kärnisolering är viktigare än uppdateringsenheten.

Villkorad bedömning: Anpassa plattformen efter den minsta konsekventa återställningen

Välj Docker när appen distribueras som containrar, definitioner och versioner hanteras och beständiga data kan säkerhetskopieras separat och återställas tillsammans med den gamla versionen.

Välj direktinstallation i LXC när varje gäst kör en enda app, anpassning på paketnivå är viktig och återställning av hela gästen inte påverkar orelaterade arbetsbelastningar.

Sluta förlita dig enbart på återställning när databasflyttar eller externa monteringar går över gränsen. En verifierad, fristående säkerhetskopia är det bästa alternativet, även om återställningen tar längre tid än att klicka på en ögonblicksbild.

Produktjämförelser

Mer att läsa

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.