De container veranderde vanzelf: wat het label "latest" werkelijk belooft
Je hebt niets bijgewerkt en toch gedraagt de container zich anders. Dat is geen storing: latest is geen versie maar een verwijzing. Het gaat niet om het nieuwste hebben, het gaat om terug kunnen.
AtlasPVE ·
Dit artikel beantwoordt
- docker latest waarom slecht
- container heeft zichzelf bijgewerkt
- docker versie vastzetten
- docker tag kiezen
- container update terugdraaien
Je hebt niets bijgewerkt. Je hebt de container herstart en nu gedraagt hij zich anders: een instelling is weg, een scherm is veranderd, een uitbreiding werkt niet meer. Dat is geen storing. latest is geen versie maar een verwijzing, en jij bepaalt niet waar hij naar wijst.
Wat het label werkelijk belooft
latest betekent niet "de nieuwste stabiele uitgave". Het betekent "wat de uitgever als laatste heeft geplaatst". De een zet daar de stabiele uitgave neer, de ander een ontwikkelversie. Aan het label zie je het verschil niet.
Daaruit volgen drie dingen, en alle drie kom je in het dagelijks gebruik tegen.
Zelfde bestand, ander resultaat. Twee machines kunnen een identiek instellingenbestand hebben en toch verschillende versies draaien, omdat ze op verschillende momenten hebben opgehaald. Daar komt meestal de zin "bij mij werkt het" vandaan.
Het moment van de verandering kies je niet. De container wordt bijgewerkt zodra hij opnieuw wordt aangemaakt. In de nacht waarin je herstartte omdat een schijf vol liep, heb je misschien onopgemerkt een versie overgeslagen.
Als het breekt kun je niet terug. Dat weegt het zwaarst. Weet je niet waar je vandaan kwam, dan kun je daar niet naar terug. Je houdt alleen de zin "gisteren werkte het" over.
Het gaat niet om de nieuwe versie, het gaat om terugkeren
Een versie vastzetten is niet "voorzichtig doen". Vastzetten maakt een punt om naar terug te keren. In een vastgezette opstelling is een upgrade een beslissing die jij nam, en elke genomen beslissing kun je ongedaan maken.
De prijs is duidelijk: nu moet je de update zelf doen. Dat was precies de bedoeling.
Een label kan verplaatst worden, een vingerafdruk niet
Een label kan door de uitgever naar iets anders verplaatst worden. Wat je gisteren als 1.2 ophaalde kan dus in theorie verschillen van wat je vandaag als 1.2 ophaalt. Bedoel je echt "precies dit", zet dan de vingerafdruk van het beeld vast en niet het label. Het ziet er lang en lelijk uit, maar het is het enige merkteken dat niet verplaatst kan worden.
Voor de meeste opstellingen is vastzetten op een versienummer genoeg. De vingerafdruk is voor de gevallen waarin je jaren later precies hetzelfde moet nabouwen.
Het eerlijke tegenargument
"Als ik vastzet, mis ik beveiligingsherstellingen." Waar, als je vastzet en het vergeet. Vastzetten is op zichzelf geen strategie, het is de helft van een gewoonte; de andere helft is regelmatig de uitgaveaantekeningen lezen. Vastzetten en vergeten is slechter dan op latest blijven, want je raakt achterop en weet het niet.
De toets is eenvoudig: vraag jezelf wanneer je deze container voor het laatst hebt bijgewerkt. Heb je geen antwoord, dan is het probleem niet het vastzetten maar je agenda.
Het vangnet aan de Proxmox-kant
De container zit in een virtuele machine of een container. Dat geeft je iets wat de containerwereld niet biedt: vóór de upgrade een momentopname maken. Loopt de upgrade slecht af, dan draai je niet de container terug maar de machine eronder.
Dit vervangt vastzetten niet, maar dekt ook wat je niet hebt vastgezet. De volgorde die een gewoonte mag worden: eerst de momentopname, dan de upgrade, dan controleren dat het echt werkt.
Wat Atlas doet
Als je een instellingenbestand in Atlas plakt, leest Atlas het voordat het wordt uitgevoerd. Beelden zonder vastgezette versie, dus die met latest of zonder enig label, worden als waarschuwing gemarkeerd.
Dat is bewust een waarschuwing en geen blokkade. Vastzetten is een voorkeur en die voorkeur is van jou; het werk van het product is niet beslissen maar de beslissing zichtbaar maken. De werkelijk gevaarlijke dingen, zoals de container de besturingstoegang van de server geven of de hoofdmap van de server aankoppelen, worden in een andere kleur en een andere taal gemarkeerd.
Eén detail telt: dit lezen gebeurt aan de serverkant. De schil omzeilen en het bestand rechtstreeks sturen haalt de waarschuwing dus niet weg. Een waarschuwing die alleen op het scherm leeft, is geen waarschuwing.
Bronnen
De eigen documentatie van Proxmox. In het Engels, en die heeft over dit onderwerp het laatste woord.