A konténer magától megváltozott: mit ígér valójában a "latest" címke
Semmi nem lett frissítve, a konténer mégis másképp viselkedik. Ez nem hiba: a latest nem verzió, hanem mutató. A kérdés nem az, hogy meglegyen a legújabb, hanem az, hogy legyen visszaút.
AtlasPVE ·
A bejegyzés ezekre válaszol
- docker latest címke miért rossz
- konténer magától frissült
- docker verzió rögzítése
- docker címke kiválasztása
- konténer frissítés visszavonása
Semmi nem lett frissítve. A konténer újraindult, és most másképp viselkedik: eltűnt egy beállítás, megváltozott egy felület, leállt egy bővítmény. Ez nem hiba. A latest nem verzió, hanem mutató, és hogy mire mutat, azt nem az üzemeltető dönti el.
Mit ígér valójában a címke
A latest nem azt jelenti, hogy "a legújabb stabil kiadás". Azt jelenti, hogy "amit a közzétevő utoljára feltöltött". Egyesek a stabil kiadást teszik oda, mások fejlesztői változatot. A címkéből a különbség nem látszik.
Ebből három következmény adódik, és mindhárommal találkozni a mindennapokban.
Ugyanaz a fájl, más eredmény. Két gépen állhat azonos konfigurációs fájl, mégis eltérő verzió fut, mert más időpontban töltötték le. Többnyire innen ered a "nálam működik" mondat.
A változás időpontja nem választható. A konténer minden újralétrehozáskor frissül. Azon az éjszakán, amikor egy megtelt lemez miatt indult újra, észrevétlenül átugorhatott egy verziót.
Ha elromlik, nincs visszaút. Ez a legsúlyosabb. Ha nem tudni, honnan indult a dolog, oda visszatérni sem lehet. Marad a mondat: "tegnap még működött".
Nem az új verzió a lényeg, hanem a visszatérés lehetősége
A verzió rögzítése nem óvatoskodás. A rögzítés visszatérési pontot hoz létre. Rögzített felállásban a verziófrissítés meghozott döntés, és minden meghozott döntés visszavonható.
Az ára világos: a frissítést ezután kézzel kell elvégezni. Pontosan ez volt a cél.
A címke áthelyezhető, az ujjlenyomat nem
A címkét a közzétevő átteheti másra. Így ami tegnap 1.2 néven jött le, elvben eltérhet attól, ami ma jön le 1.2 néven. Ha a szándék tényleg az, hogy "pontosan ez", akkor a címke helyett az image ujjlenyomatát kell rögzíteni. Hosszú és csúnya, de ez az egyetlen jel, amelyet nem lehet elmozdítani.
A legtöbb felálláshoz elég a verziószám rögzítése. Az ujjlenyomat azokra az esetekre való, amikor évekkel később pontosan ugyanazt kell előállítani.
Az őszinte ellenérv
"Ha rögzítek, lemaradok a biztonsági javításokról." Igaz, ha a rögzítés után feledésbe merül. A rögzítés önmagában nem stratégia, csak egy szokás fele; a másik fele a kiadási jegyzetek rendszeres olvasása. Rögzíteni és elfelejteni rosszabb, mint latest címkén maradni, mert így a lemaradás megtörténik, de nem látszik.
A próba egyszerű: mikor volt utoljára verziófrissítés ezen a konténeren. Ha nincs rá válasz, akkor nem a rögzítés a gond, hanem a naptár.
A védőháló a Proxmox oldalán
A konténer egy virtuális gépen vagy egy konténeren belül fut. Ez olyat ad, amit a konténerek világa nem: pillanatkép készítése a verziófrissítés előtt. Ha a verziófrissítés rosszul sül el, nem a konténer, hanem az alatta lévő gép kerül vissza korábbi állapotba.
Ez nem helyettesíti a rögzítést, de kiterjed arra is, ami rögzítetlen maradt. Érdemes szokássá tenni a sorrendet: előbb pillanatkép, aztán verziófrissítés, végül annak ellenőrzése, hogy tényleg működik.
Mit csinál az Atlas
Amikor egy konfigurációs fájl bekerül az Atlasba, a rendszer a futtatás előtt elolvassa. A rögzített verzió nélküli image-ek, vagyis azok, amelyeken latest áll vagy egyáltalán nincs címke, figyelmeztetést kapnak.
Ez szándékosan figyelmeztetés, nem tiltás. A rögzítés ízlés kérdése, és az ízlés a felhasználóé; a termék dolga nem a döntés meghozatala, hanem a döntés láthatóvá tétele. Az igazán veszélyes esetek, például a szerver saját vezérlő socketjének átadása egy konténernek vagy a szerver gyökérkönyvtárának csatolása, más színnel és más hangnemben jelennek meg.
Egy részlet fontos: ez az elemzés a szerver oldalán történik. A felület megkerülésével, közvetlenül beküldött fájl tehát ugyanúgy megkapja a figyelmeztetést. Az a figyelmeztetés, amely csak a képernyőn él, nem figyelmeztetés.
Források
A Proxmox saját dokumentációja. Angol nyelvű, és ebben a kérdésben az övé az utolsó szó.