Sizi Arayalım
Docker Nedir? Avantajları Nelerdir?

Docker, uygulamalarınızı hızla derlemenizi, test etmenizi ve dağıtmanızı saÄŸlayan bir yazılım platformudur. Docker, yazılımları kitaplıklar, sistem araçları, kod ve çalışma zamanı dahil olmak üzere yazılımların çalışması için gerekli her ÅŸeyi içeren container adlı standartlaÅŸtırılmış birimler halinde paketler. Docker'ı kullanarak her ortama hızla uygulama dağıtıp uygulamaları ölçeklendirebilir ve kodunuzun çalışacağından emin olabilirsiniz.

Docker Hakkında Temel Bilgiler

Docker ile birşeyler yapmadan önce hangi terimleri içerdiğini ve ne anlama geldiklerini kısaca özetlemekte fayda vardır.

Image : içerisinde uygulamaları barındıran container oluÅŸturmak için kullanılan onceden hazırlanmış paketlerdir.

Container : Ä°magelardan türetilen host os üzerinde çalışan veya çalışmaya hazır ortamlardır.

Dockerfile : Ä°mage üretmek için önceden belirlenmiÅŸ kuralları ve komutları içeren dockera özel dosya yapısı.

DockerHub : Docker imageların paylaşıldığı community deposu diyebiliriz. Bir çok official image barındırılmaktadır.

Aslında bir bakıma docker sanal makineye benziyor denebilir. Ancak, sanal makineden farklı olarak, tamamen sanal bir işletim sistemi oluşturmak yerine, uygulamaların üzerinde çalıştıkları sistemle aynı Linux çekirdeğini kullanmalarına izin verir. Bu da önemli bir performans artışı sağlar ve uygulamanın boyutunu azaltır. En önemlilerinden bir tanesi ise Docker açık kaynak (open source) kodludur.Yani Docker’a herkes katkıda bulunabilir , gelişmesine yardımcı olabilir.

Nasıl Çalışır?

LXC (Linux Container) üzerine kurulu bir teknoloji olan Docker, aynı linux işletim sistemi üzerinde birbirinden izole bir biçimde çalışan konteynerler oluşturmaktadır. Her bir konteyner bir process kullanmakta ve bu sayede konteynerler kolaylıkla çoğaltılabilmektedir. Ayrıca Docker, klasik sanal makinelerden (vmware, virtualbox vb.) farklı olarak bir Hypervisor katmanına sahip değildir. Bunun yerine Docker Engine üzerinden konak işletim sistemine erişerek sistem kaynaklarını paylaşımlı kullanır.

Avantajları Nelerdir?

  • Docker, Hypervisor kullanmaz ve tam yüklü bir iÅŸletim sistemi barındırmaz bu sayede saniyeler içinde çalışır ve kullanıma hazır hale gelir.
  • Docker, yazılımlarınızın tüm altyapı gereksinimlerini kod olarak saklar. (versiyonlama) Bu Docker'ın en önemli özelliklerinden biridir. Bu özellik sayesinde yazılımınızı farklı servis saÄŸlayıcıları üzerinde kolaylıkla gezindirebilir, çoÄŸaltabilir veya paylaÅŸabilirsiniz.
  • Docker, çok az kaynakla büyük iÅŸler yapabilmektedir. Bunun ana sebebi kullandığı konteyner teknolojisidir.
  • Uygulamalarınıza beklenmedik bir ÅŸekilde yüksek trafik geldiÄŸinde saniyeler içerisinde 1000'lerce konteyner hazır hale gelerek yükünüzü omuzlar.
  • Docker, uygulamalarınızı standart bir zemine oturtarak her platformda aynı ÅŸekilde çalışmasını saÄŸlar.