Blog
Mert Özen'in yazılım geliştirme, backend, frontend ve DevOps üzerine blog yazıları.
Image'ın İçi: Layer'lar, Tag, Digest, Registry ve Multi-platform Manifest
Bir image; salt okunur layer'lardan, bir config'ten ve bunları listeleyen manifest'ten oluşur, multi-platform image'larda tag her mimari için ayrı manifest'e işaret eden bir index'i gösterir. Tag değişebilir, digest değişmez: lokal registry'de aynı tag'i başka image'a çevirip digest pin'in farkını görüyor, Docker Hub limit header'ını okuyor, containerd image store'un getirdiklerine ve latest yerine semver + SHA tag stratejisine bakıyoruz.
Dockerfile'sız .NET Container: dotnet publish /t:PublishContainer ve Container MSBuild Property'leri
.NET SDK, dotnet publish /t:PublishContainer ile Dockerfile ve Docker build'i olmadan image üretir: publish çıktısını tek layer olarak base image'ın üstüne koyar, app kullanıcısını ve 8080 port'unu kendisi ayarlar, sonucu lokal daemon'a, tar dosyasına ya da doğrudan registry'ye gönderir. Bookstore.Api'yi bu yolla üretiyor, ContainerFamily, çok mimarili index ve ContainerImageFormat'ı deniyor, Dockerfile yoluyla boyut, layer ve süre açısından karşılaştırıyoruz.