Konteyner kendiliğinden değişti: "latest" etiketinin verdiği söz

Hiçbir şey güncellemediniz ama konteyner artık farklı çalışıyor. Bu bir arıza değil, latest bir sürüm değil bir işaretçidir. Asıl mesele yeniyi almak değil, geri dönebilmek.

AtlasPVE ·

Bu madde şunları karşılıyor

  • docker latest etiketi neden kötü
  • konteyner kendi kendine güncellendi
  • docker sürüm sabitleme
  • docker image tag nasıl seçilir
  • konteyner güncellemesi geri alma

Hiçbir şey güncellemediniz. Konteyneri yeniden başlattınız ve artık farklı davranıyor: bir ayar kayboldu, bir arayüz değişti, bir eklenti çalışmıyor. Bu bir arıza değil. latest bir sürüm değil, bir işaretçidir ve neyi gösterdiğine siz karar vermiyorsunuz.

Etiketin gerçekte verdiği söz

latest, "en yeni kararlı sürüm" demek değildir. "Yayıncının en son yüklediği şey" demektir. Bazı yayıncılar oraya kararlı sürümü koyar, bazıları geliştirme derlemesini. Aradaki farkı etiketten anlayamazsınız.

Bundan üç sonuç çıkar ve üçü de günlük hayatta karşınıza çıkar.

Aynı dosya, farklı sonuç. İki makinede birebir aynı yapılandırma dosyası olabilir ve farklı sürümler çalışabilir, çünkü ikisi farklı zamanlarda indirdi. "Bende çalışıyor" cümlesinin kaynağı çoğu zaman budur.

Değişikliğin zamanını siz seçmiyorsunuz. Konteyner ne zaman yeniden oluşturulursa o zaman güncellenir. Bir disk doldu diye yeniden başlattığınız gece, farkında olmadan bir sürüm atlamış olabilirsiniz.

Bozulduğunda geri dönemezsiniz. Bu en ağırı. Nereden geldiğinizi bilmiyorsanız oraya dönemezsiniz. Elinizde yalnız "dün çalışıyordu" cümlesi kalır.

Asıl mesele yeni sürüm değil, geri dönebilmek

Sürüm sabitlemek "temkinli olmak" değildir. Sabitleme, geri dönülecek bir nokta yaratmaktır. Sabitlenmiş bir kurulumda yükseltme sizin verdiğiniz bir karardır, ve verdiğiniz her karar geri alınabilir.

Bunun bedeli açık: artık güncellemeyi kendiniz yapmanız gerekir. Zaten istenen de budur.

Etiket taşınabilir, parmak izi taşınmaz

Bir etiket yayıncı tarafından başka bir şeye taşınabilir. Yani dün 1.2 ile indirdiğiniz şeyle bugün 1.2 ile indirdiğiniz şey teoride farklı olabilir. Gerçekten "tam olarak bu" demek istiyorsanız, etiketi değil imajın parmak izini sabitleyin. Uzun ve çirkin görünür, ama tek taşınamaz işaret odur.

Çoğu kurulum için sürüm numarasına sabitlemek yeterlidir. Parmak izi, bir şeyin aynısını yıllar sonra kurmak zorunda olduğunuz durumlar içindir.

Dürüst karşı görüş

"Sabitlersem güvenlik yamalarını kaçırırım." Doğru, eğer sabitleyip unutursanız. Sabitleme tek başına bir strateji değil, bir alışkanlığın yarısıdır: diğer yarısı sürüm notlarını düzenli okumaktır. Sabitleyip unutmak, latest'ta bırakmaktan daha kötüdür, çünkü hem eskirsiniz hem de eskidiğinizi bilmezsiniz.

Ölçüt basit: kendinize "bu konteyneri en son ne zaman yükselttim" diye sorun. Cevabınız yoksa sorun sabitleme değil, sizin takviminizdir.

Proxmox tarafındaki emniyet ağı

Konteyner bir sanal makinenin ya da bir kapsayıcının içindedir. Yani sizin elinizde konteyner dünyasının vermediği bir imkân var: yükseltmeden önce anlık görüntü almak. Yükseltme kötü giderse konteyneri değil, altındaki makineyi geri sararsınız.

Bu, sabitlemenin yerini tutmaz ama sabitlemediğiniz şeyler için de işe yarar. Alışkanlık haline getirilecek sıra şudur: önce anlık görüntü, sonra yükseltme, sonra gerçekten çalıştığını görmek.

Atlas ne yapıyor

Atlas'a bir yapılandırma dosyası yapıştırdığınızda, çalıştırmadan önce okuyor. Sürümü sabitlenmemiş imajları, yani latest yazan ya da hiç etiket taşımayanları uyarı olarak işaretliyor.

Bu bilerek uyarı, engel değil. Sürüm sabitlemek bir tercihtir ve tercihi siz yaparsınız; ürünün işi kararı vermek değil, kararı görünür kılmak. Gerçekten tehlikeli olanlar, örneğin sunucunun kendi denetim soketini konteynere vermek ya da sunucunun kök dizinini bağlamak, ayrı bir renkle ve ayrı bir dille işaretleniyor.

Bir ayrıntı önemli: bu okuma sunucu tarafında yapılıyor. Yani arayüzü atlayarak dosyayı doğrudan göndermek uyarıyı ortadan kaldırmıyor. Yalnız ekranda duran bir uyarı, uyarı değildir.

Kaynaklar

Proxmox'un kendi belgeleri. İngilizce, ve bu konuda son sözü onlar söyler.

İlgili maddeler

Bu iş Atlas’ta nasıl görünüyor?

Ürün sayfasına git