Docker Nedir ?


Docker , containerları kullanarak uygulama oluşturmayı, dağıtmayı ve çalıştırmayı kolaylaştırmak için tasarlanmış bir araçtır. Containerlar, bir geliştiricinin bir uygulamayı kütüphaneleri ve diğer bağımlılıklar gibi ihtiyaç duyduğu tüm parçalarla paketlemesine ve hepsini tek bir paket olarak göndermesine olanak tanır.


Docker ana bilgisayar işletim sisteminde çalışan bir hizmettir. Şu anda yalnızca Linux’ta çalışır çünkü bir dizi Linux çekirdeği özelliğine bağlıdır, ancak Docker’ı MacOS ve Windows’ta da çalıştırmanın birkaç yolu vardır.

Docker container, açık kaynaklı bir yazılım geliştirme platformudur. Başlıca faydası, uygulamaları Linux işletim sisteminde çalıştıran herhangi bir sistem arasında taşınabilir olmalarını sağlar.

Docker Hub , kod repolarına bağlanmanıza, image oluşturmanıza ve test etmenize, manuel olarak aktarılan image’leri depolamanıza ve ana bilgisayarlarınıza dağıtabilmeniz için Docker Cloud’a bağlantı kurmanıza olanak tanıyan bulut tabanlı bir kayıt hizmetidir .

Diyelim ki bir uygulama oluşturmanız gerekiyor. Bu bir sonraki Facebook, Pandora, Amazon, Youtube, Spotify gibi olabilir. Bu uygulamayı herkese açık hale getirmek için, onu barındıracak bir yere ihtiyacınız var.

Geçmişte, kendi bilgisayarınızı oluşturmanız ve temelde web sitelerini veya web hizmetlerini barındırmak için ayrılmış bir bilgisayar olan “ sunucu ” adlı özel bir web hizmeti kurmanız gerekirdi . Diğer seçenek, bu uygulamayı 1&1, GoDaddy, Geocity, vb. gibi barındırma şirketlerine dağıtmak olacaktır.

Ardından, “ bulut “ çağı geldi. Amazon Web Service (AWS) gibi bir şirket, uygulamanızı kendi “ veri merkezleri “ — bir dizi sunucu aracılığıyla barındırma konusunda çoWeb barındırma hizmetlerinden farklı olarak, bu şirketler “ sanallaştırma ” adı verilen bir kavramı benimsediler ; bu, donanım kaynaklarının yazılım işlevselliği aracılığıyla daha da parçalanabileceği ve onlara ihtiyacı olan müşterilere kaynakları daha optimum şekilde sunabileceği anlamına geliyor.

Bu nedenle “ bulut bilişim ” “ yardımcı bilgi işlem ” olarak bilinir, çünkü sunucunun tamamını kendi kullanımınız için kurmak yerine yalnızca kullandığınız hizmetler için ödeme yaparsınız. Bu genellikle hem kendiniz hem de barındırma şirketi için daha uygun maliyetlidir, performans için daha optimize edildiğinden bahsetmiyorum bile.

Ancak geleneksel bulut bilişim bile bir şeyden kaçınamaz: Ağır İşletim Sistemi kullanımı. Bu durumda başvurulan işletim sistemleri Microsoft Windows, Linux (RHEL, Ubuntu, Fedora, vb.) ve MacOS’tur. Bu işletim sistemlerinin boyutu büyüktür ve "İşletim sistemi görüntüsü" olarak da 1 Gigabayt’ı kolayca geçebilir.

Ancak, uygulamanızın başlangıçta yalnızca yaklaşık 300 Megabayt boyutu olabilir. Peki, uygulamanız bundan çok daha küçükken neden sanallaştırma sonucu sanallaştırılmış bir ortam olan 1 GB+ boyutunda bir "sanal makine" isteyesiniz?

İşte tam bu noktada, bunu düzeltmek için "container" kavramı devreye giriyor. Docker bunu şu şekilde yapar. Her bir uygulama bir işletim sistemini barındırmak yerine, bazı ortak kaynaklar paylaşılabilir ve aşağıda gösterildiği gibi bir İşletim Sisteminin üzerine oturan "docker engine" adı verilen bir şey vardır.


Yukarıdaki şekilden de görebileceğiniz gibi, bir container kullanımı ile app number'ın nasıl çok azaldığını görsel olarak gözlemleyebilirsiniz . Bir bakıma, bu çok basit bir çözümdür, kaynak kullanımlarını optimize etmek ve yedekli işletim sistemlerine olan ihtiyacı azaltmak için işletim sistemi ve uygulamalar arasına başka bir katman eklemekten başka bir şey değildir.

Ancak bu, uygulama geliştirme için bir atılımdır, çünkü bu soyutlama düzeyi tam olarak kurumsal şirketlerin ve bireysel geliştiricilerin ihtiyaç duyduğu şeydir — dev sanal makineleri "sağlamak" için daha az güçlük, ancak uygulamalarını barındırmak için gerekli olan minimum container’ları elde etmektir.

Docker kullanmanın sonucu, uygulamanın daha hızlı konuşlandırılması veya dağıtılması, daha hızlı başlatılıp durdurulabilmesi, başka bir image'e daha hızlı geçilebilmesi , birçok şeyi daha hızlı işlemesi ve yapmasıdır.

  Alıntı Yap

KARABAY A, 2021 . Docker Nedir ?,

https://www.karabayyazilim.com/blog/docker-nedir-2021-06-24-162807

(Erişim Tarihi : 24 Haziran 2021).


  Bu yazıyı paylaş

Yorumlar (0)

Yorum Yap

Abone Ol
Blog yazılarımdan ilk siz haberdar olmak için email bültenine kaydolun