Kontener zmienił się sam: co naprawdę obiecuje znacznik "latest"
Niczego nie aktualizowałeś, a kontener zachowuje się inaczej. To nie awaria: latest nie jest wersją, tylko wskaźnikiem. Prawdziwą sprawą nie jest dostanie najnowszego, tylko możliwość powrotu.
AtlasPVE ·
Ten wpis odpowiada na
- docker znacznik latest dlaczego zły
- kontener zaktualizował się sam
- docker przypiąć wersję obrazu
- jak wybrać znacznik docker
- wycofać aktualizację kontenera
Niczego nie aktualizowałeś. Zrestartowałeś kontener i teraz zachowuje się inaczej: zniknęło ustawienie, zmienił się interfejs, przestał działać dodatek. To nie jest awaria. latest nie jest wersją, tylko wskaźnikiem, a o tym, na co wskazuje, decydujesz nie ty.
Co ten znacznik naprawdę obiecuje
latest nie oznacza najnowszego stabilnego wydania. Oznacza to, co wydawca wypchnął jako ostatnie. Jedni wydawcy umieszczają tam wydanie stabilne, inni budowę rozwojową. Ze znacznika tej różnicy nie odczytasz.
Wynikają z tego trzy skutki i wszystkie trzy spotykasz w codziennej pracy.
Ten sam plik, inny wynik. Dwie maszyny mogą mieć identyczny plik konfiguracji i uruchamiać różne wersje, bo pobrały je w różnym czasie. Stąd zwykle bierze się zdanie, że u mnie działa.
Nie ty decydujesz, kiedy nastąpi zmiana. Kontener aktualizuje się, gdy tylko zostaje odtworzony. W noc, gdy zrestartowałeś go, bo zapełnił się dysk, mogłeś niepostrzeżenie przeskoczyć wersję.
Gdy się zepsuje, nie możesz wrócić. To najcięższy skutek. Jeśli nie wiesz, skąd przyszedłeś, nie możesz tam wrócić. Zostaje ci tylko zdanie, że wczoraj działało.
Nie chodzi o nową wersję, tylko o możliwość powrotu
Przypięcie wersji to nie ostrożnictwo. Przypięcie tworzy punkt, do którego można wrócić. W przypiętej konfiguracji aktualizacja jest decyzją, którą podjąłeś, a każdą własną decyzję da się cofnąć.
Koszt jest oczywisty: teraz musisz aktualizować sam. O to właśnie chodziło.
Znacznik da się przesunąć, odcisk nie
Znacznik może zostać przesunięty na coś innego przez wydawcę. To, co wczoraj pobrałeś jako 1.2, teoretycznie może się różnić od tego, co dziś pobierzesz jako 1.2. Jeśli naprawdę masz na myśli dokładnie to, przypnij odcisk obrazu, a nie znacznik. Wygląda długo i brzydko, ale to jedyne oznaczenie, którego nie da się przesunąć.
Dla większości konfiguracji przypięcie do numeru wersji wystarcza. Odcisk jest dla przypadków, w których musisz odtworzyć dokładnie to samo po latach.
Uczciwy kontrargument
Jeśli przypnę, ominą mnie poprawki bezpieczeństwa. To prawda, jeśli przypniesz i zapomnisz. Przypięcie samo w sobie nie jest strategią, jest połową nawyku; drugą połową jest regularne czytanie informacji o wydaniach. Przypiąć i zapomnieć jest gorzej niż zostać na latest, bo zostajesz w tyle i o tym nie wiesz.
Sprawdzian jest prosty: zapytaj siebie, kiedy ostatnio aktualizowałeś ten kontener. Jeśli nie masz odpowiedzi, problemem nie jest przypinanie, tylko twój kalendarz.
Siatka bezpieczeństwa po stronie Proxmoksa
Kontener siedzi wewnątrz maszyny wirtualnej albo kontenera. To daje ci coś, czego świat kontenerów nie ma: zrobienie migawki przed aktualizacją. Jeśli aktualizacja pójdzie źle, cofasz nie kontener, tylko maszynę pod nim.
To nie zastępuje przypinania, ale obejmuje też te rzeczy, których nie przypiąłeś. Kolejność warta zamiany w nawyk brzmi: najpierw migawka, potem aktualizacja, potem sprawdzenie, że naprawdę działa.
Co robi Atlas
Gdy wklejasz do Atlasa plik konfiguracji, produkt czyta go zanim go uruchomi. Obrazy bez przypiętej wersji, czyli te z latest albo bez żadnego znacznika, są oznaczane ostrzeżeniem.
To celowo ostrzeżenie, a nie blokada. Przypinanie jest preferencją, a preferencja należy do ciebie; zadaniem produktu nie jest podjęcie decyzji, tylko uczynienie jej widoczną. Rzeczy naprawdę niebezpieczne, takie jak przekazanie kontenerowi gniazda sterującego samego serwera albo podmontowanie katalogu głównego serwera, są oznaczane innym kolorem i innym językiem.
Jeden szczegół ma znaczenie: to czytanie odbywa się po stronie serwera. Ominięcie interfejsu i wysłanie pliku wprost nie usuwa więc ostrzeżenia. Ostrzeżenie, które żyje tylko na ekranie, nie jest ostrzeżeniem.
Źródła
Własna dokumentacja Proxmoksa. Po angielsku i to ona ma ostatnie słowo w tej sprawie.