Docker

Docker

Docker open source bir ‘Konteyner(container)’ teknolojisidir. Aynı zamanda Web uygulamalarımızın kolayca kurulumunu, testini, çalışmasını ve deploymentını sağlar. 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 konteyner (container) adlı standartlaştırılmış birimler halinde paketler.

Peki Konteyner (Container) Ne Demek ?

Linux çekirdeği içerisinde birbirinden izole olarak çalıştırılan process’lerin her birine verilen isimdir. Uygulamalar bir ortamdan diğerine geçildiğinde hızlı ve güvenilir şekilde çalışabilir.

Docker Nasıl Çalışır ?

Docker, kodunuzu çalıştırmanın standart bir yolunu sağlayarak çalışır. Docker, container'lara yönelik bir işletim sistemidir. Bir sanal makinenin sunucu donanımını sanallaştırmasına (doğrudan yönetme gereksinimini ortadan kaldırma) benzer şekilde container'lar da bir sunucunun işletim sistemini sanallaştırır. Docker her sunucuya yüklenir ve container'ları oluşturmak, başlatmak veya durdurmak için kullanabileceğiniz basit komutlar sağlar.
Kısaca Docker ' ın mimarisinede göz atalım .
Docker, bir istemci-sunucu mimarisi kullanır. Docker istemcisi , Docker kapsayıcılarınızı oluşturmanın, çalıştırmanın ve dağıtmanın ağır işlerini yapan Docker arka plan programıyla konuşur . Docker istemcisi ve arka plan programı aynı sistemde çalışabilir veya bir Docker istemcisini uzak bir Docker arka plan programına bağlayabilirsiniz. Docker istemcisi ve arka plan programı, UNIX yuvaları veya bir ağ arabirimi üzerinden bir REST API kullanarak iletişim kurar. Başka bir Docker istemcisi, bir dizi kapsayıcıdan oluşan uygulamalarla çalışmanıza olanak tanıyan Docker Compose'dur.

1

Docker'ı ne için kullanabiliriz ?

  • Uygulamalarınızın hızlı, tutarlı teslimi
    Docker, geliştiricilerin uygulamalarınızı ve hizmetlerinizi sağlayan yerel kapsayıcılar kullanarak standartlaştırılmış ortamlarda çalışmasına izin vererek geliştirme yaşam döngüsünü kolaylaştırır. Konteynerler, sürekli entegrasyon ve sürekli teslim (CI/CD) iş akışları için mükemmeldir.
  • Duyarlı dağıtım ve ölçeklendirme
    Docker'ın kapsayıcı tabanlı platformu, son derece taşınabilir iş yüklerine izin verir. Docker kapsayıcıları, bir geliştiricinin yerel dizüstü bilgisayarında, bir veri merkezindeki fiziksel veya sanal makinelerde, bulut sağlayıcılarında veya ortamların bir karışımında çalışabilir.
  • Aynı donanım üzerinde daha fazla iş yükü çalıştırma
    Docker hafif ve hızlıdır. İş hedeflerinize ulaşmak için bilgi işlem kapasitenizin daha fazlasını kullanabilirsiniz. Docker, daha az kaynakla daha fazlasını yapmanız gereken yüksek yoğunluklu ortamlar ve küçük ve orta ölçekli dağıtımlar için mükemmeldir.

Avantajları nelerdir ?

  • Yazılımlarımızın tüm altyapı gereksinimlerini kod olarak saklar. (versiyonlama) Bu Docker'ın en önemli özelliklerinden biridir. Bu özellik sayesinde yazılımımızı farklı servis sağlayıcıları üzerinde kolaylıkla gezindirebilir, çoğaltabilir veya paylaşabiliriz.
  • Çok az kaynakla büyük işler yapabilmektedir. Bunun ana sebebi kullandığı konteyner teknolojisidir.
    Uygulamalarımıza beklenmedik bir şekilde yüksek trafik geldiğinde saniyeler içerisinde 1000'lerce konteyner hazır hale gelerek yükümüzü omuzlar.
  • Uygulamalarımızı standart bir zemine oturtarak her platformda aynı şekilde çalışmasını sağlar.

Kaynak :
Docker