Beholderen ændrede sig af sig selv: hvad mærkatet "latest" faktisk lover
Du opdaterede ingenting, og alligevel opfører beholderen sig anderledes. Det er ikke en fejl: latest er ikke en version, men en peger. Det vigtige er ikke at have det nyeste, men at kunne gå tilbage.
AtlasPVE ·
Denne artikel besvarer
- docker latest hvorfor dårligt
- beholderen opdaterede sig selv
- docker låse version
- vælge docker-mærkat
- fortryde beholderopdatering
Du opdaterede ingenting. Du genstartede beholderen, og nu opfører den sig anderledes: en indstilling er væk, en flade er ændret, en udvidelse virker ikke. Det er ikke en fejl. latest er ikke en version, men en peger, og du bestemmer ikke, hvad den peger på.
Hvad mærkatet faktisk lover
latest betyder ikke "den nyeste stabile udgave". Det betyder "det, udgiveren lagde op sidst". Nogle lægger den stabile udgave der, andre en udviklingsbygning. På mærkatet kan du ikke se forskel.
Tre følger kommer af det, og alle tre møder du i hverdagen.
Samme fil, andet resultat. To maskiner kan have en identisk opsætningsfil og alligevel køre forskellige versioner, fordi de hentede på forskellige tidspunkter. Derfra kommer som regel sætningen "hos mig virker det".
Du vælger ikke, hvornår ændringen sker. Beholderen opdateres, når den bliver skabt igen. Den nat, hvor du genstartede, fordi en disk løb fuld, kan du umærkeligt have sprunget en version over.
Når det går i stykker, kan du ikke komme tilbage. Det vejer tungest. Ved du ikke, hvor du kom fra, kan du ikke vende tilbage dertil. Tilbage står kun sætningen "i går virkede det".
Det vigtige er ikke den nye version, men at kunne vende tilbage
At låse en version er ikke "at være forsigtig". Låsning skaber et punkt at vende tilbage til. I en låst opsætning er en opgradering en beslutning, du tog, og enhver beslutning, du tager, kan gøres om.
Prisen er tydelig: nu skal du selv foretage opdateringen. Det var netop meningen.
Et mærkat kan flyttes, et fingeraftryk kan ikke
Et mærkat kan af udgiveren flyttes til noget andet. Det, du i går hentede som 1.2, kan altså i teorien være forskelligt fra det, du henter i dag som 1.2. Mener du virkelig "præcis dette", så lås aftrykket på billedet i stedet for mærkatet. Det ser langt og grimt ud, men er det eneste mærke, der ikke kan flyttes.
For de fleste opsætninger er det nok at låse et versionsnummer. Fingeraftrykket er til de tilfælde, hvor du skal genskabe præcis det samme flere år senere.
Den ærlige indvending
"Låser jeg, går jeg glip af sikkerhedsrettelser." Sandt, hvis du låser og glemmer. Låsning er ikke en strategi i sig selv, det er halvdelen af en vane; den anden halvdel er jævnligt at læse udgivelsesnoterne. At låse og glemme er værre end at blive på latest, for du sakker bagud uden at vide det.
Prøven er enkel: spørg dig selv, hvornår du sidst opgraderede denne beholder. Har du intet svar, er problemet ikke låsningen, men din kalender.
Sikkerhedsnettet på Proxmox-siden
Beholderen sidder inde i en virtuel maskine eller en beholder. Det giver dig noget, beholderverdenen ikke tilbyder: at tage et øjebliksbillede før opgraderingen. Går opgraderingen galt, spoler du ikke beholderen tilbage, men maskinen under den.
Det erstatter ikke låsning, men dækker også det, du ikke låste. Rækkefølgen, der er værd at gøre til en vane: først øjebliksbilledet, så opgraderingen, så kontrollen af, at det virkelig virker.
Hvad Atlas gør
Når du indsætter en opsætningsfil i Atlas, læser Atlas den, før den køres. Billeder uden låst version, altså dem der siger latest eller slet ikke bærer et mærkat, markeres som en advarsel.
Det er bevidst en advarsel og ikke en spærring. At låse er en præference, og præferencen er din; produktets opgave er ikke at beslutte, men at gøre beslutningen synlig. Det virkelig farlige, som at give beholderen serverens styringsadgang eller montere serverens rodmappe, markeres med en anden farve og et andet sprog.
En detalje tæller: denne læsning sker på serversiden. At gå uden om fladen og sende filen direkte fjerner altså ikke advarslen. En advarsel, der kun lever på skærmen, er ingen advarsel.
Kilder
Proxmox’ egen dokumentation. På engelsk, og den har det sidste ord i dette spørgsmål.