Ana sayfa » Docker ve Container Kavramı | Docker Kurulumu

Docker ve Container Kavramı | Docker Kurulumu

by ozarci

Container yapısı, DevOps’u çok kolaylaştırır.
Containerization (konteynırlaştırma) nedir ve neden gereklidir? yakından bakalım:
Burada mikroservisler dünyasındayız, yüzlerce mikroservis çalışıyor olabilir ve her birinde başka bir uygulama koşuyor olabilir: örneğin bir servisiniz pyhton yürütürken bir diğeri o an java ile oluşturulmuş olabilir.
yukarıdaki örnekten devam edersek: Temel olarak bir python ve java uygulamasının çalışacağı ortamlar bir birinden farklıdır,dağıtım prosedürleri de bir biri arasında değişkenlik gösterebilir.
Sunucularınızın otomasyonunu yaparken ve bunu mikroservisler için yapılandırıyorsanız, örneğin Java için farklı yapılandırma ve komut dosyalarına, javascript için aynı şekilde, pyhton için aynı şekilde ihtiyacınız olacaktır. Bu ortamların bakımları da tam bir baş ağrısı yaratabilir.
Peki tüm mikroservisler için farklı dillerde olsa bile, tek ve aynı dağıtım ortamına ve aynı dağıtım prosedürlerine sahip olabilir miyiz, bunun bir yolu var mı?
Evet, DevOps’un harika bir çözüm sağladığı yer burada ortaya çıkıyor: Container Yapısı:

Herhangi bir uygulama veya mikro servise sahip olduğunuzda, mikro servis içeren bir Docker imajı oluşturabilirsiniz, bir docker imajı oluşturduğunuzda, docker görüntüsünün bir pyhton uygulaması olup olmadığı önemli değildir, hatta java veya javascript uygulaması olması önemli değildir, hepsini de aynı şekilde çalıştırabilirsiniz.


Kısaca, container’lar, sanal makine kavramına çok yakındır, peki sanal makinelerden farkı nedir, Docker neden daha hafiftir?
Sanal makina bileşenleri aşağıdaki gibidir: Sanal makinelerde en dipte uygulamalar, uygulamayı çalıştıracak yazılımlar, bu yazılımların çalıştığı işletim sistemleri, bu işletim sistemlerinin yöneten bir tepe yönetici hesabı, tüm bunları barındıran ana işletim sistemi ve hepsinin üzerinde çalıştığı bir donanıma ihtiyacınız vardır, bir diğer deyişle sanal makinelerin hantal olmasının sebebi direkt donanımınızı (sisteminizi) tüketiyor olmasıdır.

Docker, sanal makinaya oranla daha hafif ve hızlıdır; daha kolay ayağa kalkar ve her uygulama için ayrı işletim sistemi kurmak gerekmez, docker imajı almanız yeterlidir. Donanımdan bağımsızdır, her container’ın konfigürsayonunu çok kolay ve hızlı şekilde yapabilirsiniz.

Docker, mimarisi itibari ile yalın ve sadedir, Docker mimarisini anladığınızda, docker temellerini de daha iyi anladığınızı farkedeceksiniz. Docker mimarisine yakından bakalım: Tepede Docker sunucusu bulunur, buna bağlı docker ara katman, bu ara katmana bağlı da 3 temel kavram yer alır, bunlar Container’lar, Local imajlar ve İmaj kayıtları (imaj kayıtlarımız bizim uygulamalarımız, veritabanlarımız vb olabilir, aklınıza gelen “koşan” her servis olarak düşünebilirisiniz)


Docker sistemini bilgisayarınıza kurarak başlayabilirsiniz, kurması oldukça kolaydır; bu adresten işletim sisteminize uygun versiyonu indirip kuruluma başlayabilirsiniz, Docker sitesinde Ubuntu, Mac veya Windows kullanıcına özel kurulum yönergeleri yer almaktadır. Docker desktop uygulamasını kurmamızın nedeni Docker server’ını bilgisayarımıza yüklemek, sonrasında otomatik başlasa bile desktop uygulamasını kullanmayacağız, tüm işlemlerimizi terminal (cmd) üzerinden yapacağız.
Docker masaüstünü kurduğunuzda, docker sürümünüzün güncel olduğunu yine de kontrol etmeniz gerekir; 19+ üzeri bir sürüm daha kararlı çalışacaktır, sürümünüzü kontrol etmek için (docker masaüstünü kurduğunuzu ve sağ altta docker iconunu gördüğünüzü varsayıyorum) terminal ekranından (windows tuşu+R veya başlat -> çalıştır -> cmd şeklinde ulaşabilirsiniz) version komutu aşağıdaki gibi yazacağız:

docker --version

Aşağıdakine benzer bir çıktı almanız gerekiyor, örneğin benim versiyonum 20.10.2
Docker versiyonu aralıklarla güncellendiğinden, siz bu işlemi yaptığınızda muhtemelen daha yüksek bir docker desktop sürümü indirmiş olacaksınız.

İlgini Çekebilir

0 0 vote
Article Rating
Subscribe
Bildir
guest
0 Yorum
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x