ERETEK
BİLGİ SİSTEMLERİ
Web Sunucuları, Hosting ve DevOps

Docker ve Container Tabanlı Yayın

Web uygulamalarını Docker ile tekrar üretilebilir imajlara dönüştürüyor; Docker Compose ile çok servisli yapıları, özel registry, kalıcı volume, ağ ayrımı, sağlık kontrolleri, gizli bilgi yönetimi ve geri alınabilir sürüm geçişleriyle canlıya taşıyoruz.

Dockerfile
Multi-stage build
Docker Compose
Registry
Volume
Healthcheck
Rootless / non-root
İmaj taraması
Hizmet tanımı

Docker ve container tabanlı yayın nedir, kimler için uygundur?

Container; uygulamanın kodunu, çalışma ortamını ve bağımlılıklarını tek bir imajda paketleyerek “benim makinemde çalışıyordu” sorununu ortadan kaldırır. Aynı imaj test ve canlı ortamda çalışır; yeni sürüm sorun çıkarırsa önceki imaj etiketiyle hızlıca geri dönülür.

Bu hizmete en çok ihtiyaç duyan kuruluşlar

Çözdüğümüz kurumsal problemler

Ortam farkları

Geliştirme, test ve canlı sunucularda farklı kütüphane sürümleri hatalara yol açıyor.

Şişkin ve güvensiz imajlar

Root kullanıcıyla çalışan, gereksiz araçlar içeren yüzlerce MB imajlar.

Kalıcı veri kaybı

Volume tasarlanmadan çalışan container yeniden oluşturulduğunda yüklenen dosyalar kayboluyor.

Güvenli imaj

Küçük, non-root, taranmış

Multi-stage build ile yalnızca çalışma için gerekenler son imaja alınır; uygulama root olmayan kullanıcıyla çalışır; imajlar bilinen zafiyetler için taranır; gizli bilgiler imaja gömülmez, ortam değişkeni veya secret olarak verilir.

Docker ve container tabanlı yayın kapsamında neler yapıyoruz?

Container’laştırma

Dockerfile, multi-stage build, .dockerignore, sürüm etiketleme.

Compose mimarisi

Uygulama, veritabanı, cache, reverse proxy servisleri; ağlar ve bağımlılıklar.

Veri ve yedekleme

Kalıcı volume tasarımı, veritabanı yedeği ve geri yükleme.

Registry ve sürüm

Özel registry, imaj etiket politikası, eski imaj temizliği.

Sağlık ve kaynak

Healthcheck, restart politikası, CPU/bellek sınırları, log sürücüsü.

Yayın ve geri dönüş

Sıfıra yakın kesintiyle güncelleme ve önceki etikete dönüş.

Container’ı işletime hazır teslim ediyoruz

İmaj oluşturmak işin yarısıdır; asıl önemli olan log, yedek, güncelleme ve izleme düzenidir. Yayın CI/CD hattıyla, trafik Nginx reverse proxy üzerinden, izleme monitoring ile sağlanır.

Container işletim kontrolleri

Kontrol
Uygulama
Healthcheck
Uygulama

Uygulama uç noktası kontrolü; sağlıksız container yeniden başlatılır

Kaynak sınırları
Uygulama

Bellek ve CPU limitleri ile komşu servisleri koruma

Loglama
Uygulama

stdout/stderr, rotasyonlu log sürücüsü veya merkezi toplama

Güncelleme
Uygulama

Yeni etiket → test → canlı; önceki etiket saklanır

Yedek
Uygulama

Volume ve veritabanı yedeği, düzenli geri yükleme testi

Sizden beklediğimiz girdiler

Çalışmanın hızlı ve doğru ilerlemesi için başlangıçta aşağıdaki bilgi ve erişimlere ihtiyaç duyarız. Eksik olanları birlikte tamamlarız.

Somut proje çıktıları

Dockerfile ve Compose dosyaları
Registry ve etiket politikası
Volume ve yedek yapılandırması
Healthcheck ve kaynak sınırları
Yayın ve geri dönüş betikleri

Teslim edilen dokümantasyon

Mimari diyagram ve README
İşletim kılavuzu

Canlıya geçişten sonra işletilecek kontroller

Proje bittiğinde sistemin sağlıklı kalması için aşağıdaki kontroller sahiplerine devredilir; istenirse bakım sözleşmesiyle Eretek tarafından yürütülür.

Sık sorulan sorular

Çok sayıda servis, otomatik ölçekleme veya çok sunuculu orkestrasyon gerekiyorsa değerlendirilir; aksi halde Compose daha sade ve ekonomiktir.

Evet; ancak eklenti güncellemeleri ve yüklenen dosyalar için volume ve güncelleme süreci dikkatle tasarlanmalıdır.

Evet; Linux sunucunuza Docker Engine kurularak mevcut servislerle birlikte çalıştırılabilir.

Hizmet özeti
Docker ve Container Tabanlı Yayın

Web uygulamalarını tekrar üretilebilir paketlerle yayınlama.

Çalışma modeli

Container’laştırma projesi + yönetilen işletim

Önemli not

Kubernetes her ölçek için gerekli değildir; çoğu kurumsal web uygulaması tek veya birkaç sunucuda Compose ile güvenle işletilebilir.

Proje aşamaları

Nasıl ilerliyoruz?

01 / AŞAMA

Analiz

Uygulama ve bağımlılıklar.

02 / AŞAMA

Paketleme

İmaj ve Compose.

03 / AŞAMA

Test

Test ortamında doğrulama.

04 / AŞAMA

Canlıya geçiş

Planlı geçiş ve izleme.

Uygulamanızı her ortamda aynı çalışan paketlere dönüştürelim.

Uygulama yapınızı, bağımlılıklarınızı ve sunucu ortamınızı inceleyip container mimarisi öneriyoruz.