Konteyner Ne Demek?
İngilizce: Container
Yayın: · Son güncelleme:
Konteyner Ne Demek? Kısaca
Konteyner (container), bir uygulamayı çalışması için gereken kütüphane, ayar ve bağımlılıklarla birlikte tek bir pakette toplayan ve ana makinenin işletim sistemi çekirdeğini paylaşarak yalıtılmış biçimde çalıştıran hafif yazılım ortamıdır.

Konteyner ne demek?
Yazılımda konteyner, bir uygulamanın her yerde aynı şekilde çalışmasını sağlayan paketleme yöntemidir. Adını, yükün türü ne olursa olsun her gemiye ve tıra aynı şekilde yüklenen standart yük konteynerlerinden alır. İçinde uygulama kodu, çalışma ortamı (örneğin Python sürümü), kütüphaneler ve ayar dosyaları bulunur.
"Benim bilgisayarımda çalışıyordu" sorunu, konteynerlerin çözdüğü en bilinen problemdir. Geliştiricinin bilgisayarında, test sunucusunda ve canlı ortamda aynı paket çalıştığı için sürüm farklılıklarından doğan hatalar azalır.
Nasıl çalışır?
Konteyner, imaj (image) adı verilen bir şablondan başlatılır. İmaj, uygulamanın ve bağımlılıklarının donmuş bir kopyasıdır; konteyner ise bu imajın çalışan hâlidir. Aynı imajdan onlarca konteyner açılabilir.
Konteynerler ana işletim sisteminin çekirdeğini paylaşır. Linux'taki namespace ve cgroup gibi özellikler sayesinde her konteyner kendi dosya sistemini, süreçlerini ve ağ ayarlarını ayrı görür. Bu yüzden sanal makineye göre çok daha az yer kaplar ve saniyeler içinde açılır.
Örnek
Varsayımsal bir ekip, Node.js ile yazılmış bir web uygulaması ve PostgreSQL veritabanı kullanıyor. Yeni katılan geliştirici, her şeyi elle kurmak yerine tek komutla iki konteyneri başlatıyor ve birkaç dakika içinde projeyi çalıştırıyor. Canlı ortamda da aynı imajlar kullanıldığı için sürpriz sürüm farkları yaşanmıyor.
En yaygın konteyner aracı Docker'dır. Çok sayıda konteyneri yönetmek için ise Kubernetes gibi orkestrasyon araçları kullanılır.
Nelere dikkat etmeli?
Konteynerler sanal makineler kadar güçlü yalıtım sağlamaz, çünkü çekirdek ortaktır. Resmî ya da güvenilir kaynaklardan gelen imajlar kullanın ve imajları düzenli güncelleyin. Konteyner kapandığında içindeki veriler silinebilir; veritabanı gibi kalıcı veriler için ayrı depolama alanı (volume) tanımlamak gerekir.
Sıkça Sorulan Sorular
Konteyner nedir, Docker ile aynı şey mi?
Konteyner bir teknoloji ve paketleme yöntemidir, Docker ise konteyner oluşturmak ve çalıştırmak için en yaygın kullanılan araçtır. Podman ve containerd gibi başka konteyner araçları da vardır.
Konteynerler Windows'ta çalışır mı?
Evet. Docker Desktop gibi araçlarla Windows ve Mac'te de Linux konteynerleri çalıştırılabilir; bu araçlar arka planda hafif bir Linux sanal makinesi kullanır. Windows'a özgü konteynerler de mevcuttur.