Bugun...


Geleceğin Çözümü Docker Teknolojisi-1
Docker Nedir, Docker Nasılı Kurulur, Temel Docker Komutları, Docker ile Sanallaştırma Platformları Karşılaştırması, Docker Konteyner Yüklenmesi ve Çalıştırılması Nasıl Yapılır?

facebook-paylas
Tarih: 01-01-2023 16:18
Geleceğin Çözümü Docker Teknolojisi-1

DOCKER NEDİR, NASILI KURULUR, TEMEL DOCKER KOMUTLARI VE DOCKER İLE SANALLAŞTIRMA PLATFORMLARI KARŞILAŞTIRMASI - 1

Docker Nedir?

Temel Konteyner Teknolojilerinden birisi olan Docker açık kaynaklı olması günümüz ve geleceğin teknolojileri arasında önemli bir paya sahiptir ve daha çok paya da sahip olacaktır. Docker’ı şöyle düşünebiliriz. Bir yerde size acil olarak bir Windows/Linux üzerinde çalışan SQL, Visual Studio kurulmuş ve hazır şekilde bir ortam lazım oldu. Zamanınız kısıtlı veya elinizdeki cihaz(bilgisayar/server) bu iş için yeterince uygun değildir. Ya da kurulum işlemini doğru şekilde yapacak insan kaynağı/bilginiz yok! Bunun gibi çok fazla neden sayabiliriz. Peki, ne yapacaksınız? İşte burada mikro mimari servisleri çalıştırabilme teknolojisine sahip bir çözüm olan Docker devreye girecek ve sizi hem zaman kaybından hem maliyet kaybından kurtaracaktır. (Dezavantajlı olduğu noktalar da var) Docker nedir ve ne için kullanılır sorusuna tanım olarak cevap vermek gerekirse; Docker, uygulamalarımızı hızlıca derlemenize, test etmenize ve dağıtmanıza imkân tanıyan bir yazılımsal çözüm platformudur.  Docker’da, Saniyeler içerisinde başlayan servisler, çok hızlı şekilde deployment imkânı tanıyan ortam, kolay ve yönetilebilir sistemler, bulut tabanlı hizmetlerle uyumlu çalışma, farklı işletim sistemlerine destek veren bir platform olması üstün olduğu birkaç özelliktir.

 

Diğer bazı Konteyner Çözümleri

Docker konteyner teknolojisi tarihinde ilk ve son çözüm değildir. Ancak kullanılabilirlik açısından öncü olmayı ve adından söz ettirmeyi başarmıştır. LXC, OpenShift, Docker, … vb… bunlardan birkaç tanesi.  Bu sayı muhtemelen daha da artacaktır.

 

Docker mimarisini gösteren aşağıdaki görsellerden de anlaşılacağı üzere Docker hem bu gün hem de gelecekte epeyce kendinden söz ettireceğe benziyor. Hem Bulutta hem de lokalde konfigüre edebileceğimiz bu teknoloji zaman ve maliyet açısından da birçok avantajlar sunmaktadır.

 

 

 

 

Docker Ve Sanallaştırma Teknolojileri Arasındaki Fark Nedir?

Docker ile Sanallaştırma arasındaki en belirgin fark Sanallaştırmada host ile ilgili daha çok bilgi ve kaynağa ihtiyaç duyulur. Ancak Docker İşletim sistemi ile aynı kaynakları paylaştığından daha az yük getirecektir. Daha açıklayıcı konuşmak gerekirse Sanallaştırmada; Sanallaştırma platformunun kendisi de ek kaynak gerektirecektir. Bu platformun üzerine kurulan işletim sistemi için ayrı kaynak tahsis edileceğinden özetle hem sanallaştırma platformu hem de üzerindeki makine HOST’tan daha çok kaynak tüketecektir. DOCKER ise direkt işletim sisteminin üzerinde koşan bir proses gibi hem daha hızlı çalışacak hem de daha az kaynak tüketecektir.

Kaynak: https://www.netapp.com/media/Screen-Shot-2018-03-20-at-9.24.09-AM_tcm19-56643.png

 

 

 

 

 

 

Docker Nasıl Kurulur?

Docker kendi sisteminize kolay kurabilir ve kullanmaya başlayabilirsiniz. Windows ve Linux sistemler için ayrı ayrı kurulumlar mevcuttur. Windows için ilgili setup dosyasını indirmek için Download Docker Desktop for Windows linkinden kolayca indirebilir ve belirtilen yönergeleri izleyerek Windows sisteminize kolayca kurabilirsiniz.  (https://desktop.docker.com/win/main/amd64/Docker%20Desktop%20Installer.exe)

Linux İşletim sistemine kuracaklar için Can DEĞER isimli meslektaşımızın GitHub profilini ziyaret edebilirler. (Şahsen daha düzenli ve güzel şekilde anlatamazdım). Kurulum için (https://github.com/LuNiZz/siber-guvenlik-sss/blob/master/Belgeler/Dokumanlar/Docker_Uzerinde_Kali.md) linkini ziyaret edebilirsiniz.

 

Benim sistem (Kali Linux) Docker yüklü olduğu için önce kaldırmam lazım Bunun için önce Docker’ı kaldırıp tekrar yükleyeceğiz birlikte.

Önce apt update ile sistemimizi güncel hale getiriyoruz. Sonrasında zaten internette çokça bulabileceğimiz docker kurulum adımlarından ilki olan  apt install –y docker .io komutun çalıştırılır. Docker servisi aktif edilir. Docker komutları native language yani konuşma diline çok yakındır. Sonrasında yetkili olmayan kullanıcımızı ile işlem yapıyorsak sürekli olarak sudo demek zorunda kalmamak içim usermod -aG docker $USER komutu ile docker grubuna kendimiz ekletiyoruz.

└─# apt-get purge docker àSistemimizde kurulu olan Docker uygulamasını kaldırıyoruz. (Uygulamayı kaldırmanın başka yolları da var)

(apt-get dist-upgrade) à Zorunlu değil ama yaparsanız iyi olur.

└─# apt updateàSistemi güncelliyoruz.

└─#  apt install -y docker.ioà Docker kuruluyor.

└─#  systemctl enable docker –now à Servisi başlatıyoruz

└─#  dockerà Docker çalıştır.

└─# usermod -aG docker $USERà Docker grubuna kendimizi ekliyoruz ve böylece docker ı çalıştırırken yetki istemez.

 

Docker Temel Komutlar

Docker kurulumunu tamamladıktan sonra artık Docker’ı kullanmaya başlayabiliriz. Şimdi sırasıyla temel bazı komutları inceleyelim.

└─# dockerà Sistemimizde docker düzgün kurulmuşsa kullanılabilecek komutlar ekrana gelecektir.

└─# docker –version àDocker versiyonu öğrenebiliriz.

└─# docker --help ile docker –v ile docker help komutları aynı çıktıyı verir. Daha önce de belirtiğim üzere docker konuşur gibi kullanılır.

└─# docker image help veya docker  container help ile imajlar ve konteynerler için çalıştırılabilecek komutları görebiliriz.

Şimdi Docker’ı Docker yapan ve içerisinde çok zengin bir içerik çeşidi olan DockerHub bakalım. DockerHub içerisinde 5 mb Linux distrosundan(dağıtım) tutunda çok yüksek boyutlu Linux, Windows vs.. imaj bulunun bir ortamdır. DockerHub içeriğini tarayıcıda görebileceğimiz gibi CLI ortamında da inceleyebiliriz.

https://hub.docker.com àDocker Hub içeriğini incelemek isteyenler.  DockerHub üyelik gerektiren bir platform.

Kendi makinemizden dockerhub’a giriş için àdocker login dedikten sonra çıkacak ekrana bilgilerimizle giriş yapmış olacağız. Ancak dikkat etmemiz gereken bir uyarı var. “Şifreniz şifrelenmemiş olarak saklanacaktır” demektedir.

└─# docker search Windows à komutu ile Windows imajlarını arayabiliriz.

Şimdi örnek olması açısından bir tane Linux dsitrosu indirip kullanmaya başalayalım. Tek yapamaız gereken ilgili dağıtımı bulup indirmek. Örneğin biz burada Alpine adında linuxun çok küçük boyutlu (yaklaşık olarak 7 MB) bir dağıtımını indirip kuracağız.  

└─# docker search alpine àBir distro için arama yapıyoruz.

└─# docker pull alpine  à İlgili dağıtımı dockera indirip ayağa kaldıracağız.

└─# docker images  à Daha önce indirmiş olduğum bir ElastikSearchKibana (ELK) makinem ve yeni indirmiş olduğum Alpine Linux dağıtımları var Docker images olarak. Resimde de görüleceği üzere Her imajın bir “IMAGE ID” vardır. Yapacağımız birçok işlemde bu imaj id esas alınır. Örneğin ImageID ile bir iamjı silebiliriz.

└─# docker image rm ContainerID à komutu ile pull ettiğimiz bir imajı silebiliriz.

└─# docker image help à bir imaj ile yapmak istediğimiz işler için komut setine ulaşabiliriz.

Şimdi kurduğumuz docker imajını ayaklandıralım.

Bunun için docker komutlarından faydalanacağız.

└─# docker container run -it ContainerAdi/ID àbu komutu kullanabileceğimiz gibi henüz bir docker üstünde bir Orchestrator vb.. bir uygulama ile makineleri yönetmediğimiz için

└─# docker run -it MakineAdı/ID àkomutunu da kullanabiliriz.

Ayrıca docker container ile ilgili olarak diğer komutları merak edenler için

└─# docker container helpà komutu ile kullanılebilecek diğer komutlar incelenebilir.

Dockerda indirilen imajların çalıştırılmsında girilmesi gereken parametreler ve konfigüre eidlmesi gereken alanlar farlı farklı olabilmektedir.  Örneğin bir ELK konteyner için port tanımları yapılması gerekmektedir.

Yazımız çok uzadı. Dolayısıyla iki makale halinde yayınlamnın daha fayadalı olacağı kanaatindeyim.

Bir sonraki makalemizde bir makinenin ayağa kaldırılması ve sonrasında amacımıza göre ayarlamaların nasıl yapılacğaını, Kubernetes ve Orchestrator, Swarm gibi kavramlar üzerinde durulacağını belirtmek isterim.

Öğrenmek bitmeyen bir eylemdir. Ne mutlu ki iki günü eşit olmayanlara.

 

 

 

 




Bu haber 166 defa okunmuştur.

YORUMLAR

Ceyda AKARCA
01-01-2023 17:50:00

Güzel olmuş, emeğinize yüreğinize sağlık.

YORUM YAZ



FACEBOOK YORUM
Yorum

İLGİNİZİ ÇEKEBİLECEK DİĞER HABERLER
ÇOK OKUNAN HABERLER
SON YORUMLANAN HABERLER
YUKARI