Der Container hat sich von selbst geändert: was das "latest"-Etikett wirklich verspricht
Du hast nichts aktualisiert, und doch verhält sich der Container anders. Das ist kein Fehler: latest ist keine Version, sondern ein Zeiger. Es geht nicht darum, das Neueste zu bekommen, sondern zurückkehren zu können.
AtlasPVE ·
Dieser Eintrag beantwortet
- docker latest tag warum schlecht
- container hat sich selbst aktualisiert
- docker version festpinnen
- docker tag richtig wählen
- container update zurücknehmen
Du hast nichts aktualisiert. Du hast den Container neu gestartet, und nun verhält er sich anders: eine Einstellung ist weg, eine Oberfläche hat sich geändert, eine Erweiterung läuft nicht mehr. Das ist kein Fehler. latest ist keine Version, sondern ein Zeiger, und worauf er zeigt, entscheidest nicht du.
Was das Etikett wirklich verspricht
latest bedeutet nicht "die neueste stabile Ausgabe". Es bedeutet "das, was der Herausgeber zuletzt hochgeladen hat". Manche legen dort die stabile Ausgabe ab, andere einen Entwicklungsstand. Am Etikett erkennst du den Unterschied nicht.
Daraus folgen drei Dinge, und alle drei begegnen dir im Alltag.
Gleiche Datei, anderes Ergebnis. Zwei Maschinen können eine identische Konfigurationsdatei haben und trotzdem verschiedene Versionen laufen lassen, weil sie zu verschiedenen Zeiten geladen haben. Daher kommt meist der Satz "bei mir läuft es".
Den Zeitpunkt der Änderung wählst du nicht. Der Container wird aktualisiert, sobald er neu erstellt wird. In der Nacht, in der du wegen einer vollen Platte neu gestartet hast, hast du vielleicht unbemerkt eine Version übersprungen.
Wenn es bricht, kommst du nicht zurück. Das wiegt am schwersten. Weißt du nicht, woher du kamst, kannst du nicht dorthin zurück. Es bleibt nur der Satz "gestern lief es noch".
Es geht nicht um die neue Version, sondern um die Rückkehr
Eine Version festzunageln ist nicht "vorsichtig sein". Das Festnageln schafft einen Punkt, zu dem man zurückkehren kann. In einer festgenagelten Umgebung ist ein Upgrade eine Entscheidung, die du getroffen hast, und jede getroffene Entscheidung lässt sich rückgängig machen.
Der Preis ist offensichtlich: nun musst du die Aktualisierung selbst vornehmen. Genau das war der Sinn.
Ein Etikett lässt sich verschieben, ein Fingerabdruck nicht
Ein Etikett kann vom Herausgeber auf etwas anderes verschoben werden. Was du gestern als 1.2 geladen hast, kann sich theoretisch von dem unterscheiden, was du heute als 1.2 lädst. Meinst du wirklich "genau dies", nagle den Fingerabdruck des Abbilds fest und nicht das Etikett. Er sieht lang und hässlich aus, ist aber die einzige Marke, die sich nicht verschieben lässt.
Für die meisten Umgebungen reicht das Festnageln auf eine Versionsnummer. Der Fingerabdruck ist für die Fälle, in denen du Jahre später genau dasselbe wiederherstellen musst.
Der ehrliche Einwand
"Wenn ich festnagle, verpasse ich Sicherheitskorrekturen." Richtig, wenn du festnagelst und es vergisst. Festnageln ist für sich keine Strategie, sondern die Hälfte einer Gewohnheit; die andere Hälfte ist das regelmäßige Lesen der Versionshinweise. Festnageln und vergessen ist schlimmer, als auf latest zu bleiben, denn du fällst zurück und weißt es nicht.
Der Prüfstein ist einfach: frage dich, wann du diesen Container zuletzt aktualisiert hast. Hast du keine Antwort, liegt das Problem nicht am Festnageln, sondern an deinem Kalender.
Das Sicherheitsnetz auf der Proxmox-Seite
Der Container sitzt in einer virtuellen Maschine oder einem Container. Das gibt dir etwas, was die Container-Welt nicht bietet: vor dem Upgrade eine Momentaufnahme zu nehmen. Geht das Upgrade schief, spulst du nicht den Container zurück, sondern die Maschine darunter.
Das ersetzt das Festnageln nicht, deckt aber auch das ab, was du nicht festgenagelt hast. Die Reihenfolge, die zur Gewohnheit werden sollte: erst Momentaufnahme, dann Upgrade, dann prüfen, dass es wirklich läuft.
Was Atlas tut
Wenn du eine Konfigurationsdatei in Atlas einfügst, liest Atlas sie, bevor sie ausgeführt wird. Abbilder ohne festgenagelte Version, also solche mit latest oder ganz ohne Etikett, werden als Warnung markiert.
Das ist bewusst eine Warnung und keine Sperre. Festnageln ist eine Vorliebe, und die Vorliebe gehört dir; die Aufgabe des Produkts ist nicht, zu entscheiden, sondern die Entscheidung sichtbar zu machen. Die wirklich gefährlichen Dinge, etwa dem Container den Steuerungszugang des Servers zu geben oder das Wurzelverzeichnis des Servers einzuhängen, werden in anderer Farbe und anderer Sprache markiert.
Ein Detail ist wichtig: dieses Lesen geschieht auf der Serverseite. Die Oberfläche zu umgehen und die Datei direkt zu senden, entfernt die Warnung also nicht. Eine Warnung, die nur auf dem Bildschirm lebt, ist keine Warnung.
Quellen
Die eigene Dokumentation von Proxmox. Auf Englisch, und sie hat in dieser Sache das letzte Wort.