Ana sayfa » Docker – Container Neden Popüler? Avantajları Neler?

Docker – Container Neden Popüler? Avantajları Neler?

by ozarci

Docker’ı popüler yapan 3 önemli özelliği yukarıdaki tabloda gibi:
1- Standartlaştırılmış Uygulama Paketlemesi
2- Çoklu Platform Desteği
3- Docker Container’ların Hafif Olması ve birbirinden izole halde olmasınıdr.

Bu özellikleri biraz daha ayrıntılı inceleyelim:
Standartlaştırılmış Uygulama Paketlemesi: Docker’da uygulama paketinin dilinden bağımsız olarak standartlaştırılmıştır. Bu bir Python, Java veya Javascript uygulaması olabilir, bir docker imajı oluşturduğunuzda bu uygulamayı çalıştıracak herşeyi içerecektir. Bu görünntü her yerde çalışacak hale gelir. Ve Çoklu Platform Desteği burada devreye giriyor; bir docker imajını ister data merkezde, local’inizde veya bulutta sorunsuz çalıştırabilirsiniz. Bulut sağlayacılarından her biri container yapısını destekler (AWS, Azure, GCP).
Şimdiye kadar standart olduğunu ve çoklu platform desteği olduğunu gördük, son popüler özelliği Hafiftir ve Container’lar birbirinden izoledir: Peki hafif derken neyi kastediyoruz? uygulamaları (makinayı) sanallaştırmanın yolu daha önceden sanal makinelerdi (wm), daha önceki yazılarımızda virtual machine mimarisinden bahsetmiştik, kısaca hatırlayalım:

Tipik Sanal Makine Mimarisi

Sanal makinede öncelikle bir donanımınızın olması gerekiyor, buna bağlı bir ana işletim sisteminiz, bunun üzerinde de hiperyönetici vardır, bu makina üzerinde bir konuk işletim sistemi, ona bağlı yazılım ve o yazılımla çalışan bir uygulama olur. Dikkat ederseniz sanal makinalarda aslında iki işletim sistemi var; bir ana ve konuk işletim sistemi. Böyle olduğu için sanal makinalar ağırdır, sanallaştırılan makinalar tüm donanım gücünüzden yararlanır, tam da burada docker mimarisinin farkı devreye giriyor:

Docker’da bir container’ı çalıştırmak için ihtiyacınız olan tek şey docker motoru (docker engine) dur. Docker için bir alt yapınız varsa (bu bulut bile olabilir), üzerinde bir işletim sistemi ve buna kurulu bir docker motorunuz olur.
Docker Motorunu (docker engine) kurduktan sonra, üzerinde her türlü container’ı çalıştırabilirsiniz. Bildiğiniz gibi Container’lar bir uygulamayı çalıştırmak için uygulamayı, o uygulamayı çalıştıracak yazılımı vb. her şeyi içerir, başka bir şeye ihtiyacınız olmaz. Bu sebeple docker container’lar hafiftir. Sadece hafif olmakla kalmaz her Container bir birinden bağımsız ve izole edilmiştir.
Her bir container’a ayrı bellek, ayrı cpu atayabilirsiniz: Örneğin yukarıdaki tabloyu varsayalım: birinci container için cpu kullanım sınırını 20% olarak belirlersek, ne olursa olsun 20% üzerine çıkamaz, diğer container’ları da etkileyemez. Belleğe de aynı şekilde sınırlar koyabilirsiniz.
İzole olmasının bir avantajı da, eğer bir container arızalanırsa diğer hiçbir container bundan etkilenmez.

İlgini Çekebilir

0 0 vote
Article Rating
Subscribe
Bildir
guest
0 Yorum
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x