Web Tasarım Formu


Nasıl Bir Web Sitesi Veya Hizmet Arıyorsunuz?

Başka Hangi Hizmetlere İhtiyacınız Olabilir ?

Tercih ettiğiniz bir platform var mı?

Projenizde kaç dil kullanılacak?

Lütfen listeden seçim yapınız.

Projenizden biraz bahsedebilir misiniz?

Bu alan zorunlu değildir.

 / 1000

(Firmanızın genel tanıtımı, ürün varsa siteye konulacak ürün sayısı, filtre ve karşılaştırma modülü olacak mı, yaklaşık sayfa sayısı, üyelik vb. bir sistem olacak mı, mevcut siteniz varsa ondan ne farkı olacak, ve diğer eklemek istediğiniz herşeyi buraya lütfen olabildiğince detay yazınız.)

Bir dosya göndermek ister misiniz?

Dosya Seç

Dosya seçilmedi...

Bu alan zorunlu değildir.

Bizimle nasıl iletişime geçmek istersiniz?

Nerelisiniz?

İl / İlçe / Mahalle selectbox seçimi olacak.

Size nasıl hitap edelim?

Docker Nedir? Nasıl Çalışır? Docker'ın Avantajları ve Sanal Makine İle Farkları

Docker Nedir? Nasıl Çalışır? Docker'ın Avantajları  ve Sanal Makine İle Farkları
Docker Nedir? Nasıl Çalışır? Docker'ın Avantajları ve Sanal Makine İle Farkları
08/09/2020
0 Yorum
Hilal D.
1914

Docker kavramını açıklayabilmek için öncellikle sanallaştırma kavramına dikkat çekmek gerekir. Sanallaştırma, bilgisayar kaynaklarının kullanıcılardan soyutlanmasına verilen isimdir. Bu işlemi yapmak iççin kullanılan metotlar, bilgisayar kaynaklarının birleştirilmesini veya paylaştırılmasını sağlamaktadır. Docker ise yazılım geliştirme uzmanları ve sistemcilerin kullanılabilmesi için geliştirilen açık kaynak kodlu bir sanallaştırma platformudur. Docker kullanılarak uygulamalar daha hızlı derlenebilmekte, test edilebilmekte ve dağıtabilmektedir.

Docker; yazılım, sistem araçları, kodlar ve çalışma zamanını dahil ederek yazılımların çalışması için gerekli olan her şeyi içeren container adlı standartlaşmış birimler halinde paketler. Docker kullanılarak her ortama hızlı bir şekilde uygulama dağıtılabilir ve bu uygulamalar ölçeklendirilip kodun çalışıp çalışmadığına bakılabilir. 

Container Nedir?

Docker bir container teknolojisidir. Aynı işletim sistemi üzerinde birbirinden farklı ve bağımsız containerlar sayesinde sanallaştırma sağlamaktadır. Bu nedenle Docker için bilinmesi gereken en önemli kavramlardan birisi “container”dır.

Docker Deamon tarafından Linux çekirdeği içerisinde birbirinden bağımsız olarak çalışan process’lerin her birine container adı verilir. Her container bir süreç (process) kullanır. Fiziksel bir sunucu üzerinde yürütülen her bir işletim sisteminin Docker’daki karşılığı container’dır. Bir makinede birbirinden bağımsız olarak binlerce container çalışabilir (Makinede çalışan container sayısı, bu makinenin gücüne bağlıdır.)

Image Nedir?

Container’lar katmanlar halinde bulunan Image’lerden meydana gelmektedir. Docker Image ise container üzerine kurulacak ve çalıştırılacak olan uygulamaların veya işletim sistemlerinin image dosyalarıdır. Mysql, Ubuntu gibi örnekleri çoğaltabiliriz. 

Docker Nasıl Çalışır?

Docker, kendi içerisinde sizin yazdığınız kodu çalıştırmanın standart bir yolunu bulur. Docker’ın container sistemi oluşturarak görevini yürütür. Bir sanal makinenin doğrudan yönetme ihtiyacını ortadan kaldırması gibi container’lar da bir sunucunun işletim sistemini sanallaştırır. Docker her bir sunucuya yüklenir. Daha sonra sizin container’ları oluşturmak, başlatmak veya durdurmak için ihtiyacınız olan basit komutları oluşturur.

Docker ve Sanal Makine Arasındaki Farklar

Docker, alanında tek sanallaştırma teknolojisi değildir. Docker’ın ayırt edici özelliği ise klasik sanal makineler olarak bildiğimiz Hypervisor, VMvare gibi araçlardan daha farklı bir şekilde sanallaştırma yapmasıdır. Docker’da sanal makinelerde bulunan hypervisor katmanı bulunmaz. Bunun yerine yukarıda bahsettiğimiz container adı verilen birbirinden tamamen bağımsız ve izole process’lerden oluşur. 
Docker’da kullanılan container kavramı, ismini deniz taşımacılığında kullanılan konteynerlardan almıştır. Deniz taşımacılığında kullanılan konteynerlar, belirli standart boyutlarda üretilir. Bu sayede içerisine daha çok yükleme yapılır ve daha az yer kaplar. Docker’da kullanılan conteyner’lar da sistem dosyalarını paylaşımlı olarak kullandıkları için kaynak tüketimleri oldukça düşüktür. Özellikle klasik sanal makineler ile kıyaslandığında container sistemi ile Docker çok daha az yer kaplar. 

VM ve Docker

Windows işletim sistemine sahip bir makinemizi MacOS işletim sistemine koşturmak istediğimizi varsayalım. Bunu VWM ile sağlayabiliriz ancak Docker’a göre çok daha maliyetli olur. Çünkü kaynak tüketimi çok fazladır. Ayrıca tamamen farklı bir işletim sistemini ayağa kaldırmak istediğimiz için VM bu durumda çok yavaş kalacaktır. Docker ise container’lar ile çalıştığı için container’lar saniyeler içerisinde açılır ve kullanılabilir hale gelir. İstediğiniz zaman anında durdurabilir veya başlatabilirsiniz. 
Docker’ın container kullanması kaynak tüketimini büyük ölçüde azaltır. Ancak bu durum izolasyon seviyesini düşürmektedir. 

Docker’ın Avantajları Nelerdir?

Saniyeler içerisinde başlar. İçerisinde barındırdığı container’lar sadece bir process’tir Hafif yapısı Docker’ı hızlı yapar.
Daha hızlı dağıtım süreci sağlar. Farklı sunucularda çalışmak isteyen yazılımcılar sadece Docker Image’leri çalıştırmaları yeterlidir. Böylelikle benim cihazımda çalışıyordu, sunucuda neden çalışmıyor sorunu ortadan kalkar.
Daha kolay yönetilebilir ve ölçeklendirilebilir. Docker üzerinde bulunan container’lar çok hızlı başlatılabilir veya yok edilebilir.
Kaynak tüketimi çok verimlidir. Daha az kaynak ile daha çok container çalıştırılabilir. 
Docker ile dağıtımda herhangi bir sorun yaşanmaz. Siz kendi makinenizde nasıl çalıştırıyorsanız başka bir sunucuda da aynı şekilde çalışır. 
Windows, Linux, MacOS gibi farklı işletim sistemlerine destek verir.
Popüler bulut servisleriyle bütünleşmiş şekilde çalışabilir. AWS, Microsoft, Azure, Ansible, Kubernetes, Istio gibi servisler örnek verilebilir. 

Yazıya Puan Ver
4 Kişi Puan Verdi
Konu Etiketleri: docker sanal-makine image container