• Anasayfa
  • Eğitimler
    • JavaScript Eğitimi
    • Angular 2 Eğitimi
    • React.js Eğitimi
    • Java 8 Eğitimi
    • Java EE 7 Eğitimi
    • Spring Framework Eğitimi
    • Git Eğitimi
  • Online Eğitimler
    • Online React.js Eğitimi
    • Online Angular 2 Eğitimi
    • Online Spring Boot Eğitimi
  • Referanslar
  • Hakkında
  • İletişim
KodEdu
  • Anasayfa
  • Eğitimler
    • JavaScript Eğitimi
    • Angular 2 Eğitimi
    • React.js Eğitimi
    • Java 8 Eğitimi
    • Java EE 7 Eğitimi
    • Spring Framework Eğitimi
    • Git Eğitimi
  • Online Eğitimler
    • Online React.js Eğitimi
    • Online Angular 2 Eğitimi
    • Online Spring Boot Eğitimi
  • Referanslar
  • Hakkında
  • İletişim

Docker Nedir ? Neden Kullanılır ?

  • Posted by Kodedu
  • Categories Cloud, Docker, Genel, Uncategorized
  • Date 25 Haziran 2015
VM vs Docker Container

Docker işletim sistemi imajlarını versiyonlayan, Apache versiyon 2 lisanslı, Go dili ile yazılmış bir sanallaştırma ve konteyner teknolojisidir.

İşletim Sistemi İmajı Nedir?

Docker Linux türevinden işletim sistemleri üzerinde çalışan bir uygulamadır. Buradaki söylenen imaj ise, Linux türevi işletim sistemlerinden türetilmiş, boyut olarak küçültülmüş, Docker sanallaştırma ortamında çalışabilir işletim sistemi birimleridir.

Docker’ın sanallaştırma yapısı, klasik bilinen sanal makinelerden (VirtualBox, Vmware vb.) farklı olarak bir Hypervisor katmanına sahip değildir. Bunun yerine Docker, Docker Engine üzerinden, konak işletim sistemine erişmekte ve sistem araçlarını paylaşımlı olarak kullanmaktadır. Böylece klasik VM’lere göre daha az sistem kaynağı tüketmektedir.

VM vs Docker Container
Figure 1. Klasik VM vs Docker

VM’ler her bir çalışan örneği için full bir işletim sistemine sahiptir. Docker ise hem full işletim sistemi yerine boyut olarak küçültülmüş imajları kullanır hem de konak işletim sistemi kütüphanelerini paylaşımlı olarak kullanır. Fakat bu durum, Docker’i sistem kaynak tüketim dostu yaparken, izolasyon seviyesini ise düşürmektedir. Bunlarla birlikte aşağıdaki karşılaştırmaları yapabiliriz.

Kıyas türü VM Docker

OS

Tam işletim sistemi

Küçültülmüş işletim sistemi imajı

Izolasyon

Yüksek

Daha düşük

Çalışır hale gelmesi

Dakikalar

Saniyeler

Versiyonlama

Yok

Yüksek

Kolay paylaşılabilirlik

Düşük

Yüksek

Her iki sanallaştırma yaklaşımının birbirlerine göre avantaj ve dezavantaj durumları söz konusudur. Fakat, Docker yönünde baktığımızda aşağıda açıklanan avantajların çok kritik olduğunu söylemek gerekir.

Docker kolay çalışır

Docker Hypervisor kullanmadığından, tam yüklü bir işletim sistemi kullanmadığından ve konak sisteme yakın çalıştığından saniyeler içinde çalışır.

Versiyonlama

Docker’in en vurucu özelliklerinden birisi hiç şüphesiz versiyonlanabilme özelliğidir. Docker, kullandığı işletim sistemi imajlarının farklı hallerini kayıt altında tutmamıza olanak sunmaktadır. Bu durum ise, hazırlanan imajların kolaylıkla kullanıcılar arasında paylaşılmasına kapı aralamaktadır.

Paylaşılabilirlik

Kullanıcılar veya dağıtıcılar tarafından hazırlanan işletim sistemi imajları, merkezi sunuculara gönderilebilmekte ve aynı zamanda diğer kullanıcılar tarafından bu merkezi sunuculardan elde edilebilmektedir.

Docker’in Hedefi

Yıllar beri yazılım projeleri geliştiriyoruz. Her uygulamanın kendine has bağımlılıkları bulunuyor. Uygulamaların kendi bağımlılıkları yanında diğer önemli bir ihtayaç ise uygulamaların çalışacağı işletim sistemlerinin hazır hale getirilmesi ve yönetilmesi sürecidir.

Docker işte tam bu noktada görev alarak, uygulamanın çalı,şabilmesi için gerekli işletim sistemi ortamını hazır hale getirmede, saklamada, versiyonlamada, paylaşmada sunduğu gereçlerle yazılım geliştirimi dışındaki operasyonel işleri inanılmaz kolaylaştırmaktadır.

Uygulamaların koştuğu işletim sistemlerindeki diğer bir gereksinim ise yönetim ihtiyacıdır. Docker, kullanıcılar tarafından hazırlanan işletim sistemi imajlarını, kolaylıkla çalıştırabilmekte, versiyonlaybilmekte ve sistem kaynaklarını (RAM, CPU, Network) kullanıcının belirttiği ölçüde ayırarak yönetebilmektekdir.

Şimdilik bu kadar. Bir sonraki yazımızda Docker’ın kurulumuna ve kullanımına değineceğiz.

Tekrar görüşmek dileğiyle.

  • Share:
author avatar
Kodedu

Previous post

Slayt hazırlarken nelere dikkat etmeliyiz?
25 Haziran 2015

Next post

AsciidocFX ile Reveal.js ve Deck.js Slaytları Hazırlamak (Video)
9 Temmuz 2015

You may also like

api-logo
Swagger Nedir? Neden kullanılır?
10 Ekim, 2018
spring-cli-logo
Spring CLI ile Spring Boot Projeleri Hazırlamak
21 Ağustos, 2017
eureka_architecture
Spring Cloud Netflix ve Eureka Service Discovery
3 Temmuz, 2017

    2 Comments

  1. eren
    2 Haziran 2018
    Cevapla

    Hocam devamını bekliyoruz

Leave A Reply Cevabı iptal et

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

E-posta listesine kayıt olun!






Gözde yazılar

Java Mimarisiyle Kurumsal Çözümler : Kaynak Kodlar
09Kas2012
HTML 5 Server Sent Events on Glassfish 4
27Kas2013
Java 8 – Default Methods
06Eki2014
GittiGidiyor’da JavaScript Eğitimi Tamamlandı
09Ağu2016

Son Yazılar

  • Java’da Record’lar 27 Ocak 2020
  • Swagger Nedir? Neden kullanılır? 10 Ekim 2018
  • Spring CLI ile Spring Boot Projeleri Hazırlamak 21 Ağustos 2017
  • Spring Cloud Netflix ve Eureka Service Discovery 3 Temmuz 2017
  • Online React.js Eğitimi ardından (15-25 Mayıs 2017) 31 Mayıs 2017

Son Yorumlar

  • Naïve Bayes Sınıflandırma Algoritması için Rahman Usta
  • Naïve Bayes Sınıflandırma Algoritması için Mete
  • YAML Nedir? Neden YAML Kullanmalıyız? için kara
  • JWT (JSON Web Tokens) Nedir? Ne işe yarar? için Furkan
  • YAML Nedir? Neden YAML Kullanmalıyız? için shahriyar

Get Java Software

Arşivler

Bizi takip edin

React.js Eğitimi Başlıyor
11-22 Eylül, 2017
Eğitmen
Rahman Usta
İletişim

merhaba@kodedu.com

  • Hakkında
  • Gizlilik Politikası
  • İletişim
  • Referanslar
Kodedu Bilişim Danışmanlık
Cemil Meriç mah. Çelebi sok.
No:16/3 Ümraniye/İSTANBUL
Tel: 0850 885 38 65
Alemdağ V.D.: 8960484815

KODEDU © Tüm hakları saklıdır.