BootcampHackathonHiring ChallengeTüm Etkinlikler
İş İlanlarıEğitimlerŞirketler
Docker Nedir? Nasıl Çalışır?

Docker Nedir? Nasıl Çalışır?

Docker'ın uygulama geliştirme dünyasındaki sahneye çıkışı ile sanal makineler bir köşeye mi itildi? Bu içerikle, Docker'ın yazılımcıların hayatını nasıl kolaylaştırdığını ve sanal makinelerle arasındaki eğlenceli rekabeti keşfedeceksin.
Techcareer.net
Techcareer.net
2.10.2023

Docker Nedi̇r? Nasıl Çalışır?

Uygulama geliştirmek üzere açık kaynaklı bir proje olarak hazırlanan Docker nedir nasıl kullanılır sorusu birçok yazılımcı tarafından merak edilir. Docker; Linux, macOS ve Windows işletim sistemlerinde konteyner oluşturmak için kullanılır. Uygulama projelerinin düzenlenme ve dağıtım sürecini kolaylaştıran açık kaynaklı bir platform olan Docker, yazılımcılar tarafından oldukça sık kullanılır. 2008 yılında DotCloud olarak ortaya çıkarılan Docker, 2013 senesinde PyCon’da tanıtılıp yayınlanır. Docker, yenilikçi yazılım teknolojilerini takip eden ve uygulama geliştirme sürecini kolaylaştırmak isteyenler tarafından tercih edilen popüler bir platform olarak öne çıkar.

Docker Temel Bileşenleri Nelerdir?

Konteyner teknolojisi ile uygulama alanı bulan Docker nasıl kurulur sorusunun cevabını öğrenmek isteyen yazılımcıların ve şirketlerin öncelikle bu programın genel işleyiş yapısını öğrenmeleri faydalı olabilir. Docker’ın genel işleyiş yapısı incelendiğinde bilinmesi gereken bazı terminolojik kavramlar şöyle sıralanabilir;

  • Docker Engine: programın temel mekanizması olan konteynerleri çalıştıran, Windows ve çeşitli Linux işletim sistemlerini destekleyen sunucu teknolojisi olarak tanımlanabilir.
     
  • Docker Image: Uygulamaların çalıştırılması için imagelerin konteyner ile paketlenmesi gerekir. Docker Image ile dilersen kendi görüntülerini yapabilir veya başkalarının oluşturduğu görüntüleri kullanabilirsin.
     
  • Dockerfile: Uygulama projesinde image oluşturmak için ihtiyaç duyulan config dosyasının ismi olarak tanımlanabilir. Konteyner yapılandırmasında; ağ bağlantı noktası, dil ve dosya konumu gibi birçok image oluşturulurken gerekli tüm talimatlar Dockerfile ile katmanlaştırılır.
     
  • Docker Hub: İmageler oluşturulduktan sonra depolanması ve paylaşılması için Docker Hub kullanılır.
     
  • Docker Registry: Imagelerin Docker Hub üzerinde depolandığı konumu işaret eder. Github’a benzer bir şekilde Docker Registry, oluşturulan imagelerin başkaları tarafından kullanılmasını sağlar.
     
  • Docker Daemon: Konteynerleri çalıştıran ve dağıtan Docker Daemon, imageleri yönetir. Ana bilgisayar üzerinde çalışan ve işletim sisteminde aracı bir rolü bulunan bu bileşen bir tür arka plan hizmeti olarak tanımlanabilir.

Docker Nasıl Çalışır?

Uygulamaların düzenlenmesi ve dağıtılması sürecinde aktif bir program olan Docker nasıl çalışır sorusunun cevabı geliştiricilerin merak ettiği öncelikli konular arasındadır. Docker, işletim sistemini destekleyen tüm sunuculara yüklenebilir. Fakat çalışma mekanizması, Windows ve Linux işletim sistemlerinde kendine özgü birtakım aşamalardan oluşur. Docker’ın kendi web sitesi üzerinden kurulum dosyasını indirebilir ve bilgisayarın işletim sistemine uygun aşamaları ile kurulum işlemini tamamlayabilirsin.

Linux’ta Docker Kurulum Aşamaları

  • Docker web sitesine gitmeli ve işletim sistemi gereksinimlerini incelemelisin.
     
  • Docker Ubuntu’nun indirmeye uygun olduğunu tespit ettikten sonra Docker’ın tüm eski versiyonlarını silebilirsin.
     
  • Script dosyasının yüklenmesi ve çalıştırılması tamamlandıktan sonra Docker’ın yüklenip yüklenmediğini kontrol ederek kurulum aşamasını tamamlayabilirsin.

Docker Komutları Nelerdir?

Docker nasıl kullanılır sorusunun yanıtını öğrenmek isteyenler, programın komutlarının neler olduğunu bilmesi gerekir. Docker bilgisayara kurulduktan sonra başlıca komut dizileri kullanılır. Başlıca Docker komutları şöyle sıralanabilir;

  • Build: İmageleri kurup yükler.
  • Login: Docker kayıt defterine giriş yaparak image çekebilirsin.
  • Pull: Docker Hub üzerinden image yükler.
  • Rmi: Kullanılmayan imageler silinir.
  • Search: Adı bilinmeyen imageleri bulmak için kullanılır.
  • Run: İndirilen imageleri çalıştırmak için kullanılır.
  • Images: İmageleri göstermek için kullanılır.
  • Exec: Konteynerde işlem yaparken kullanılır.
  • Docker PS: Konteynerler listelenirken bu komut kullanılır.
  • Logs: Logonu konteyner aracılığı ile ekrana uygularken bu komutu kullanabilirsin.
  • Rm: Konteyner silmek için kullanılır.
  • D: İmage'i arka planda başlatmak için kullanılır.
  • Stop: Seçilen konteyneri durdurmak için kullanılır.
     

Docker Avantajları Nelerdir?

Docker nedir ne işe yarar gibi soruların cevabı, programın nasıl kullanılacağının kolayca anlaşılmasını sağlar. Program, uygulama geliştirme sürecini kolaylaştırmak ve işletim sistemi kaynaklarını etkin kullanmak için tercih edilir. Sanallaştırma platformlarının işletim sistemine verdiği zararı ortadan kaldırmak için milyonlarca yazılımcı tarafından kullanılan Docker avantajları şöyle sıralanabilir;

  • Sanal makineleri yavaş işleyiş sistemlerinden kurtarır ve saniyeler içinde başlatır.
     
  • Sanal makine kullanımının aksine hız avantajı sunan Docker, kullanıcılarına kısa sürede daha çok uygulama geliştirme vadeder.
     
  • Farklı sunucularda çalışmayı gerekli kılan uygulama projelerinde Docker imageleri indirerek farklı environment kurulumu yapmanıza gerek kalmaz.
     
  • Docker ile oluşturulan konteynerleri yönetmek için birçok araç mevcuttur. Kubernetes teknolojisi ile kaynakların yönetimini otomatik olarak gerçekleştirebilirsin.
     
  • Docker ile uygulamaların aynı anda birden fazla ortamda çalışmasını sağlayabilirsin. Farklı işletim sisteminde çalıştırılan uygulamalar, herhangi bir problemin yaşanmasını engeller.
     
  • Docker, paylaşımı hızlandırdığı için CD ve CI uygulamaları ile sorunsuz bir şekilde çalışabilir.
     
  • Docker ile uygulamanın üzerinde bir değişiklik yapılması gerektiği zaman uygulamanın tamamının kaldırılmasına gerek duyulmaz.
     
  • Sanallaştırma platformlarına kıyasla daha az kaynak tüketerek daha çok uygulama geliştirebilirsin.
     
  • Bulut sistemler üzerinde çalıştığı için kaynak israfının önüne geçer. Aynı zamanda veri hacimleri daha düşük olduğu için sanal makinelere kıyasla daha az bellek kullanımı gerçekleştirir.
     
  • Uygulama projelerinde oluşan sorunları gidermek ve işlemleri geri almak, küçük konteyner yapılandırmalarında daha kolay gerçekleşir.
     
  • Windows, Linux ve macOS işletim sistemlerinin üçünü de destekler.
     
  • Yerel geliştirme makinelerinden diğer platformlara taşınması daha kolay gerçekleşir.
    Microsoft Azure, Kubernetes, AWS ve Ansible gibi birden çok araç ve bulut servisleri ile entegre edilebilir.

Docker ve Sanal Makine Arasındaki Farklar Nelerdir?

Sanal makine ve Docker platformunu birbirinden ayıran birçok yön vardır. Sanal makine ve Docker’ın birbirinden ayrılan yönlerinden bahsederken öncelikli olarak işletim sistemler örneki olarak verilebilir. Sanal makinelerin işletim sistemleri fulldur. Docker ise daha küçük boyutlara indirgenmiş ve paylaşımlı bir işletim sistemi vardır. Docker kaynak tüketiminin minimuma indirildiği izolasyon seviyesi sanal makinenin izolasyon seviyesinden daha düşüktür. Sanal makinenin çalışması için dakikalara ihtiyaç duyulurken, Docker saniyeler içinde kurulum işlemini tamamlar. Sanal makinenin versiyonları bulunmazken Docker platformunun versiyonlanması oldukça yüksektir. Sanal makinede uygulama projelerinin paylaşımı daha güç gerçekleşirken, Docker platformunda paylaşım daha kolay bir şekilde yapılabilir. Docker ve sanal makinenin avantaj ve dezavantajları bulunur. Fakat uygulama geliştirme sürecinde ve işletim sistemlerinin daha etkin kullanımında Docker’ın birçok özelliği öne çıkan avantajlar arasında yer alır.

Yazılımcılar Neden Docker Kullanır?

Windows, macOS ve Linux işletim sistemi kaynaklarını kullanabilmek için konteyner yapısına ihtiyaç duyulur. Bilgisayar işletim sisteminde yer alan RAM ve işlemci benzeri kaynaklar eş zamanlı olarak aynı sistem üzerinde kullanılabilmesi için birtakım sanallaştırma platformları tercih edilir. Bu durum ise, işletim sistemi kaynaklarının gereksiz ve yanlış kullanımına neden olur. Konteyner yapılandırması ise sanallaştırma platformlarının gereksiz kaynak kullanımının önüne geçer. Konteyner teknolojisini kullanan Docker, işletim sistemindeki kaynakları dağıtarak uygulamaların problemsiz bir şekilde çalışmasına yardımcı olur. Dolayısıyla Docker nedir neden kullanılır sorusuna web uygulamalarının kolay kurulumu ve sunucu maliyetlerini minimize etmek için yanıtı verilebilir. Aynı işletim sistemi üzerinde birden çok sanallaştırma sağlamak isteyen yazılımcılar, konteyner teknolojisi ile tasarlanan Docker platformunu kullanabilir.

 

Yazılım dünyasının ilginç yeniliklerinin yanında, techcareer.net üzerinden ücretsiz ve sertifikalı bootcamp programlarına katılarak bu ve benzeri teknolojiler hakkında daha fazla bilgi edinebilir, teknoloji iş ilanlarına göz atarak kariyerini bir adım öteye taşıyabilirsin!


Daha Fazla

Bootstrap Nedir? Bootstrap ile Neler Yapılır?

Bootstrap Nedir? Bootstrap ile Neler Yapılır?

Bu blogumuzda, Bootstrap’in ne olduğunu, nasıl çalıştığını ve web geliştirmede neden önemli olduğunu öğrenerek, mobil öncelikli ve duyarlı web siteleri oluşturmak için Bootstrap'i nasıl kullanabileceği konusunda bilgi kazanacaksın.
22.11.2024
5 Dakika

TECHCAREER

Hakkımızda
techcareer.net
Türkiye’nin teknoloji kariyeri platformu

SOSYAL MEDYA

LinkedinTwitterInstagramYoutubeFacebook

tr


en

Tüm hakları saklıdır
© Copyright 2024
support@techcareer.net
İşkur logo

Kariyer.net Elektronik Yayıncılık ve İletişim Hizmetleri A.Ş. Özel İstihdam Bürosu olarak 31/08/2024 – 30/08/2027 tarihleri arasında faaliyette bulunmak üzere, Türkiye İş Kurumu tarafından 26/07/2024 tarih ve 16398069 sayılı karar uyarınca 170 nolu belge ile faaliyet göstermektedir. 4904 sayılı kanun uyarınca iş arayanlardan ücret alınmayacak ve menfaat temin edilmeyecektir. Şikayetleriniz için aşağıdaki telefon numaralarına başvurabilirsiniz. Türkiye İş Kurumu İstanbul İl Müdürlüğü: 0212 249 29 87 Türkiye iş Kurumu İstanbul Çalışma ve İş Kurumu Ümraniye Hizmet Merkezi : 0216 523 90 26